JavaRush /Blog Java /Random-VI /Hãy chơi Blackjack với Bender
FriDayXIII
Mức độ

Hãy chơi Blackjack với Bender

Xuất bản trong nhóm
Nói chung, tôi muốn chơi Black Jack với Bender, đây là điều đã xảy ra: Và bây giờ câu hỏi là gì? Làm thế nào để kết hợp tất cả điều này thành một chương trình riêng biệt?
Bản đồ:
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; } }
Bộ bài:
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; } }
Người chơi:
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; } }
Người uốn cong:
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; } }
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION