В общем захотелось поиграть с Бендером в Блек-Джек, вот что вышло:
А теперь вопрос? Как это все объединить в отдельную программу?
Карта:
Колода:
Игрок:
Бендер:
Карта:
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("Вы и Бендер получили по 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("Вы получили: "+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 Бендер - Что?! Ты даже не дал мне походить!");
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("Теперь смотри и учись как играет Бендер! \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 Сейчас я покажу тебе как играет настояший робожу..\n в смысле настояший крупье.");
begin();
while (true){
System.out.println("Бендер: "+benderWin+" Вы: "+igrokWin+" Продолжим играть?\n еще - новая игра.");
if (reader.readLine().equals("еще")) begin();
else {
System.out.println("Бендер - Что у тебя не осталось денег?\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;
}
}
Вся та информация что нашол в интернете просто забила голову кучей шлака и никакого результата…