JavaRush /Java Blog /Random-KO /๋ฒค๋”์™€ ํ•จ๊ป˜ ๋ธ”๋ž™์žญ์„ ํ•ด๋ณด์ž
FriDayXIII
๋ ˆ๋ฒจ 15

๋ฒค๋”์™€ ํ•จ๊ป˜ ๋ธ”๋ž™์žญ์„ ํ•ด๋ณด์ž

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์ผ๋ฐ˜์ ์œผ๋กœ ์ €๋Š” Bender์™€ ํ•จ๊ป˜ Black Jack์„ ํ”Œ๋ ˆ์ดํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ์–ด๋‚œ ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด์ œ ์งˆ๋ฌธ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด ๋ชจ๋“  ๊ฒƒ์„ ๋ณ„๋„์˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ฒฐํ•ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
์ง€๋„:
package Igra21; /** * Created with IntelliJ IDEA. * User: Admin * Date: 28.09.13 * Time: 7:15 * To change this template use File | Settings | File Templates. */ public class Karta { int sila; String mast="ะ›ัŽะฑะฐั ะœะฐัั‚ัŒ"; //ะผะฐัั‚ัŒ ะฟะพะบะฐ ะฝะต ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะดะปั ะฑะปะตะบะดะถะตะบะฐ ะพะฝะฐ ะฝะต ะฝัƒะถะฝะฐ String nominal; Karta(String nominal, int sila){ this.nominal=nominal; this.sila=sila; } }
๊ฐ‘ํŒ:
package Igra21; import java.util.ArrayList; import java.util.Random; /** * Created with IntelliJ IDEA. * User: Admin * Date: 28.09.13 * Time: 7:17 * To change this template use File | Settings | File Templates. */ public class Koloda { ArrayList koloda = new ArrayList(); public void zapolnenie(){ for (int i=1 ; i<=4 ; i++){ koloda.add(new Karta("ะขัƒะท", 1)); koloda.add(new Karta("ะ’ะฐะปะตั‚", 2)); koloda.add(new Karta("ะ”ะฐะผะฐ", 3)); koloda.add(new Karta("ะšะพั€ะพะปัŒ", 4)); koloda.add(new Karta("6", 6)); koloda.add(new Karta("7", 7)); koloda.add(new Karta("8", 8)); koloda.add(new Karta("9", 9)); koloda.add(new Karta("10", 10)); } } public Karta getKarta(){ Random random = new Random(); int mestoKarti = random.nextInt(koloda.size()); Karta prom = koloda.get(mestoKarti); koloda.remove(mestoKarti); return prom; } }
ํ”Œ๋ ˆ์ด์–ด:
package Igra21; import java.util.ArrayList; /** * Created with IntelliJ IDEA. * User: Admin * Date: 28.09.13 * Time: 8:04 * To change this template use File | Settings | File Templates. */ public class Igrok { ArrayList moiKarti = new ArrayList(); public void addKatra(Karta karta){ moiKarti.add(karta); } public int points(){ int point=0; for (Karta i : moiKarti){ point+=i.sila; } return point; } public String moiKarti(){ String katri=""; for (Karta i : moiKarti){ katri+=i.nominal+" = "+i.sila+" ะพั‡ะบะพะฒ / "; } return katri; } }
๋‹ค๋ฆฌ:
package Igra21; import java.util.Random; /** * Created with IntelliJ IDEA. * User: Admin * Date: 28.09.13 * Time: 8:09 * To change this template use File | Settings | File Templates. */ public class Bender extends Igrok { public Boolean toDuThis(int shans){ Random random = new Random(); if (random.nextInt(100)
ะ˜ะณั€ะฐ:
package Igra21; import java.io.*; /** * Created with IntelliJ IDEA. * User: Admin * Date: 28.09.13 * Time: 7:44 * To change this template use File | Settings | File Templates. */ public class Igra { int benderWin=0; int igrokWin=0; boolean trueGame = true; Koloda koloda = new Koloda(); Igrok igrok = new Igrok(); Bender bender = new Bender(); public void beginGame(){ koloda.zapolnenie(); polosa(); System.out.println("ะ˜ะณั€ะฐ ะฝะฐั‡ะฐะปะฐััŒ, ะฝะพะฒะฐั ะบะพะปะพะดะฐ ัะพะทะดะฐะฝะฐ."); polosa(); igrok.addKatra(koloda.getKarta()); igrok.addKatra(koloda.getKarta()); bender.addKatra(koloda.getKarta()); bender.addKatra(koloda.getKarta()); System.out.println("ะ’ั‹ ะธ ะ‘ะตะฝะดะตั€ ะฟะพะปัƒั‡or ะฟะพ 2 ะบะฐั€ั‚ั‹."); polosa(); } public void hodIgroka() throws IOException { trueGame = true; BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); while (igrok.points()<21){ System.out.println("ะ’ะฐัˆ ั…ะพะด: ัƒ ะ’ะฐั "+igrok.points()+" ะพั‡ะบะพะฒ.\n ะตั‰ะต-ะฒะทัั‚ัŒ ะบะฐั€ั‚ัƒ, ะฒัะต-ะทะฐะบะพะฝั‡ะธั‚ัŒ ั…ะพะด.\n ะผะพะธ-ะฟั€ะพะฒะตั€ะธั‚ัŒ ะบะฐั€ั‚ั‹ ะฝะฐ ั€ัƒะบะฐั…"); polosa(); String otvet = reader.readLine(); if (otvet.equals("ะตั‰ะต")){ Karta prom = koloda.getKarta(); igrok.addKatra(prom); System.out.println("ะ’ั‹ ะฟะพะปัƒั‡or: "+prom.nominal+" ัั‚ะฐ ะบะฐั€ั‚ะฐ ัั‚ะพะธั‚ "+prom.sila+" ะพั‡ะบะพะฒ"); polosa(); } if (otvet.equals("ะผะพะธ")){ System.out.println("ะฃ ะ’ะฐั ะฝะฐ ั€ัƒะบะฐั…: \n "+igrok.moiKarti()); polosa(); } if (otvet.equals("ะฒัะต")){ System.out.println("ะ’ั‹ ะฝะฐะฑั€ะฐะปะธ "+igrok.points()+" ั‚ะตะฟะตั€ัŒ ั…ะพะด ะ‘ะตะฝะดะตั€ะฐ."); polosa(); break; } } if (igrok.points()==21){ System.out.println("ะ’ั‹ ะฝะฐะฑั€ะฐะปะธ "+igrok.points()+" ัั‚ะพ ะ‘ะปะตะบะ”ะถะตะบ ะดะตั‚ะบะฐ, ะ’ั‹ ะ’ั‹ะธะณั€ะฐะปะธ.\n ะ‘ะตะฝะดะตั€ - What?! ะขั‹ ะดะฐะถะต ะฝะต ะดะฐะป ะผะฝะต ะฟะพั…ะพะดะธั‚ัŒ!"); trueGame=false; igrokWin=1; polosa(); } if (igrok.points()>21){ System.out.println("ะ’ั‹ ะฝะฐะฑั€ะฐะปะธ "+igrok.points()+" ัั‚ะพ ะฑะพะปัŒัˆะต 21, ะ’ั‹ ะŸั€ะพะธะณั€ะฐะปะธ.\n ะ‘ะตะฝะดะตั€ - ะขะฐะบ ะฝะต ะธะฝั‚ะตั€ะตัะฝะพ, ั ั‚ั€ะตะฑัƒัŽ ะฟั€ะพะดะพะปะถะตะฝะธั ะฑะฐะฝะบะตั‚ะฐ!"); trueGame=false; benderWin=1; polosa(); } } public void hodBendera() throws IOException { if (trueGame){ System.out.println("ะขะตะฟะตั€ัŒ ัะผะพั‚ั€ะธ ะธ ัƒั‡ะธััŒ How ะธะณั€ะฐะตั‚ ะ‘ะตะฝะดะตั€! \n ะธะณั€ะฐัŽ ะฒ ะพั‚ะบั€ั‹ั‚ัƒัŽ.\n ะฃ ะ‘ะตะฝะดะตั€ะฐ :"+bender.moiKarti()); polosa(); } while (bender.points()<21 && bender.points()<=igrok.points() && trueGame){ System.out.println("ะฃ ะ‘ะตะฝะดะตั€ะฐ "+bender.points()+" ะพั‡ะบะพะฒ."); if (bender.points()<11){ Karta prom = koloda.getKarta(); bender.addKatra(prom); System.out.println("ะ‘ะตะฝะดะตั€ ะฒะทัะป ะบะฐั€ั‚ัƒ "+prom.nominal+" ัั‚ะฐ ะบะฐั€ั‚ะฐ ัั‚ะพะธั‚ "+prom.sila+" ะพั‡ะบะพะฒ"); polosa(); continue; }else if (bender.points()<14 && bender.toDuThis(80)){ Karta prom = koloda.getKarta(); bender.addKatra(prom); System.out.println("ะ‘ะตะฝะดะตั€ ะฒะทัะป ะบะฐั€ั‚ัƒ "+prom.nominal+" ัั‚ะฐ ะบะฐั€ั‚ะฐ ัั‚ะพะธั‚ "+prom.sila+" ะพั‡ะบะพะฒ"); polosa(); continue; }else if (bender.points()<16 && bender.toDuThis(60)){ Karta prom = koloda.getKarta(); bender.addKatra(prom); System.out.println("ะ‘ะตะฝะดะตั€ ะฒะทัะป ะบะฐั€ั‚ัƒ "+prom.nominal+" ัั‚ะฐ ะบะฐั€ั‚ะฐ ัั‚ะพะธั‚ "+prom.sila+" ะพั‡ะบะพะฒ"); polosa(); continue; }else if (bender.points()<18 && bender.toDuThis(40)){ Karta prom = koloda.getKarta(); bender.addKatra(prom); System.out.println("ะ‘ะตะฝะดะตั€ ะฒะทัะป ะบะฐั€ั‚ัƒ "+prom.nominal+" ัั‚ะฐ ะบะฐั€ั‚ะฐ ัั‚ะพะธั‚ "+prom.sila+" ะพั‡ะบะพะฒ"); polosa(); continue; }else { System.out.println("ะฏ ะดัƒะผะฐัŽ ะผะฝะต ั…ะฒะฐั‚ะธั‚ "+bender.points()+" ะพั‡ะบะพะฒ, ั‡ั‚ะพะฑ ะฒั‹ะธะณั€ะฐั‚ัŒ."); polosa(); break; } } if (bender.points()<21 && bender.points()>igrok.points()){ System.out.println("ะฏ ะดัƒะผะฐัŽ ะผะฝะต ั…ะฒะฐั‚ะธั‚ "+bender.points()+" ะพั‡ะบะพะฒ, ั‡ั‚ะพะฑ ะฒั‹ะธะณั€ะฐั‚ัŒ."); polosa(); } if (bender.points()==21){ System.out.println("ะฃ ะ‘ะตะฝะดะตั€ะฐ "+bender.points()+" ัั‚ะพ ะ‘ะปะตะบะ”ะถะตะบ ะดะตั‚ะบะฐ."); polosa(); } if (bender.points()>21){ System.out.println("ะฃ ะ‘ะตะฝะดะตั€ะฐ "+bender.points()+" ัั‚ะพ ะฑะพะปัŒัˆะต 21, ะ‘ะตะฝะดะตั€ ะŸั€ะพะธะณั€ะฐะป."); igrokWin=1; trueGame=false; polosa(); } } public void ktoVin(){ if (trueGame){ if (bender.points()>igrok.points()){ System.out.println("ะฃ ะ‘ะตะฝะดะตั€ะฐ "+bender.points()+" ะพั‡ะบะพะฒ. ะฃ ะ’ะฐั "+igrok.points()+", ะ’ั‹ ะŸั€ะพะธะณั€ะฐะปะธ.\n ะ‘ะตะฝะดะตั€ - ะ‘ะปะตะบะ”ะถะตะบ ะดะตั‚ะบะฐ, ะ’ะพั‚ ั‚ะฐะบ ะฝัƒะถะฝะพ ะธะณั€ะฐั‚ัŒ!"); polosa(); benderWin=1; }else { System.out.println("ะฃ ะ’ะฐั "+igrok.points()+" ะพั‡ะบะพะฒ. ะฃ ะ‘ะตะฝะดะตั€ะฐ "+bender.points()+", ะ’ั‹ ะ’ั‹ะธะณั€ะฐะปะธ.\n ะ‘ะตะฝะดะตั€ - ะ”ะฐ ะทะดะฐะปัั ะผะฝะต ะฒะฐัˆ ะ‘ะปะตะบะ”ะถะตะบ! \n ะฏ ัะดะตะปะฐัŽ ัะฒะพะน, ั ะผะฐัั‚ัะผะธ ะธ ะบะฐั€ั‚ะฐะผะธ!"); polosa(); igrokWin=1; } } } public void polosa(){ System.out.println("-------------------------------------------------"); } }
ะขะตะปะพ ัะฐะผะพะน ะธะณั€ั‹(Main):
package Igra21; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /** * Created with IntelliJ IDEA. * User: Admin * Date: 28.09.13 * Time: 8:49 * To change this template use File | Settings | File Templates. */ public class Igra21 { static int benderWin=0; static int igrokWin=0; public static void main(String[] args)throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.println("ะ”ะพะฑั€ะพ ะฟะพะถะฐะปะพะฒะฐั‚ัŒ ะฒ ะบะฐะทะธะฝะพ ะ‘ะตะฝะดะตั€ะฐ, \n ัะฐะผะพะต ั‡ะตัะฝะพะต ะบะฐะทะธะฝะพ ะฝะฐ ะ—ะตะผะปะต."); System.out.println("ะ‘ะตะฝะดะตั€ - ะัƒ ั‡ั‚ะพ ะฝะฐั‡ะฝะตะผ? \n Now ั ะฟะพะบะฐะถัƒ ั‚ะตะฑะต How ะธะณั€ะฐะตั‚ ะฝะฐัั‚ะพััˆะธะน ั€ะพะฑะพะถัƒ..\n ะฒ ัะผั‹ัะปะต ะฝะฐัั‚ะพััˆะธะน ะบั€ัƒะฟัŒะต."); begin(); while (true){ System.out.println("ะ‘ะตะฝะดะตั€: "+benderWin+" ะ’ั‹: "+igrokWin+" ะŸั€ะพะดะพะปะถะธะผ ะธะณั€ะฐั‚ัŒ?\n ะตั‰ะต - ะฝะพะฒะฐั ะธะณั€ะฐ."); if (reader.readLine().equals("ะตั‰ะต")) begin(); else { System.out.println("ะ‘ะตะฝะดะตั€ - What ัƒ ั‚ะตะฑั ะฝะต ะพัั‚ะฐะปะพััŒ ะดะตะฝะตะณ?\n ะ”ะฐะฒะฐะน ะดะพ ัะฒะธะดะฐะฝัŒั ะธะท ะผะพะตะณะพ ะบะฐะทะธะฝะพ.."); break; } } } public static void begin()throws IOException{ Igra igra = new Igra(); igra.beginGame(); igra.hodIgroka(); igra.hodBendera(); igra.ktoVin(); benderWin+=igra.benderWin; igrokWin+=igra.igrokWin; } }
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION