Sollte jetzt ohne Fehler alles implementiert sein.
parent
13defb4014
commit
dde68f1784
|
@ -4,38 +4,58 @@ import java.util.Scanner;
|
||||||
|
|
||||||
public class BlackJackSpiel {
|
public class BlackJackSpiel {
|
||||||
public BlackJackSpiel(){
|
public BlackJackSpiel(){
|
||||||
Scanner sc = new Scanner(System.in);
|
|
||||||
System.out.println("Willkommen zum BlackJack Trainer");
|
System.out.println("Willkommen zum BlackJack Trainer");
|
||||||
|
Kartenstapel ks = new Kartenstapel();
|
||||||
|
int s = 1;
|
||||||
|
|
||||||
while(true){
|
while(true){
|
||||||
System.out.println("BlackJack: Möchten Sie ein neues Spiel anfangen? (Ja/Nein)");
|
int t = 1;
|
||||||
if (sc.next().equalsIgnoreCase("Ja")) {
|
String eingabe = "";
|
||||||
Kartenstapel ks = new Kartenstapel();
|
System.out.println("Möchten Sie ein neues Spiel anfangen? (Ja/Nein)");
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
if (sc.nextLine().equalsIgnoreCase("Ja")) {
|
||||||
|
if(s != 1) {
|
||||||
|
System.out.println("Möchten Sie einen neuen Kartenstapel? (Ja/Nein)");
|
||||||
|
if(sc.nextLine().equalsIgnoreCase("Ja"))
|
||||||
|
ks = new Kartenstapel();
|
||||||
|
}
|
||||||
|
s = 2;
|
||||||
Hand spieler = getNeueHand(ks);
|
Hand spieler = getNeueHand(ks);
|
||||||
|
System.out.println("Ihre Hand: "+spieler);
|
||||||
if (spieler.isBlackJack()) {
|
if (spieler.isBlackJack()) {
|
||||||
System.out.println("BlackJack: Ihre Hand: "+spieler);
|
System.out.println("Sie haben einen BlackJack!");
|
||||||
System.out.println("BlackJack: Sie haben einen BlackJack!");
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
while(spieler.getPunkte()<22) {
|
while(spieler.getPunkte()<22) {
|
||||||
|
if(t>1)
|
||||||
|
System.out.println("Ihre Hand: "+spieler);
|
||||||
|
if(spieler.getPunkte()==21) {
|
||||||
|
System.out.println("Ihre Endpunktzahl von diesem Spiel beträgt: 21");
|
||||||
|
eingabe = "Nein";
|
||||||
|
break;
|
||||||
|
}
|
||||||
int punkte = spieler.getPunkte();
|
int punkte = spieler.getPunkte();
|
||||||
System.out.println("BlackJack: Ihre Hand: "+spieler);
|
System.out.println("Ihre Hand ergibt zurzeit: " + punkte + " Punkte.");
|
||||||
System.out.println("BlackJack: Ihre Hand ergibt zurzeit: " + punkte + " Punkte.");
|
System.out.println("Möchten Sie noch eine Karte ziehen? (Ja/Nein)");
|
||||||
System.out.println("BlackJack: Möchten Sie noch eine Karte ziehen? (Ja/Nein)");
|
t++;
|
||||||
if (sc.next().equalsIgnoreCase("Ja"))
|
eingabe = sc.nextLine();
|
||||||
|
if (eingabe.equalsIgnoreCase("Ja"))
|
||||||
spieler.addKarte(ks);
|
spieler.addKarte(ks);
|
||||||
else {
|
else {
|
||||||
System.out.println("BlackJack: Ihre Endpunktzahl von diesem Spiel beträgt: " + spieler.getPunkte());
|
System.out.println("Ihre Endpunktzahl von diesem Spiel beträgt: " + spieler.getPunkte());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("BlackJack: Ihre Hand: "+spieler);
|
|
||||||
System.out.println("BlackJack: Ihre Endpunktzahl von diesem Spiel beträgt: "+spieler.getPunkte());
|
if(eingabe.equalsIgnoreCase("Ja")) {
|
||||||
System.out.println("BlackJack: Damit haben Sie 21 überschritten und verloren.");
|
System.out.println("Ihre Hand: " + spieler);
|
||||||
|
System.out.println("Ihre Endpunktzahl von diesem Spiel beträgt: " + spieler.getPunkte());
|
||||||
|
System.out.println("Damit haben Sie 21 überschritten und verloren.");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println("BlackJack: Damit wäre das Spiel beendet.");
|
System.out.println("Damit wäre das Spiel beendet.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ public class Hand {
|
||||||
public int getPunkte(){
|
public int getPunkte(){
|
||||||
int ergebnis = 0;
|
int ergebnis = 0;
|
||||||
for(int i = 0; i<hand.size(); i++){
|
for(int i = 0; i<hand.size(); i++){
|
||||||
ergebnis += hand.get(i).getPunkte();
|
ergebnis += hand.get(i).getPunkte(hand);
|
||||||
}
|
}
|
||||||
return ergebnis;
|
return ergebnis;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package de.hs_mannheim.informatik.blackjack;
|
package de.hs_mannheim.informatik.blackjack;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
public class Karte {
|
public class Karte {
|
||||||
|
@ -19,23 +20,85 @@ public class Karte {
|
||||||
return farbe + " " + karte;
|
return farbe + " " + karte;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPunkte(){
|
public int getPunkte(ArrayList<Karte> hand){
|
||||||
|
|
||||||
|
int counter = 0;
|
||||||
|
for(int i = 0; i<hand.size(); i++){
|
||||||
|
if(hand.get(i).karte.equals("Ass"))
|
||||||
|
counter ++;
|
||||||
|
}
|
||||||
|
|
||||||
if(karte.equals("Bube")||karte.equals("Dame")||karte.equals("König"))
|
if(karte.equals("Bube")||karte.equals("Dame")||karte.equals("König"))
|
||||||
return 10;
|
return 10;
|
||||||
else if(karte.equals("Ass")) {
|
else if(karte.equals("Ass")&&counter==1) {
|
||||||
Scanner ass = new Scanner(System.in);
|
int entscheidung = 0;
|
||||||
System.out.print("Soll das Ass als 1 oder 11 Punkte zählen?(1/11):");
|
for(int i = 0; i<hand.size(); i++) {
|
||||||
int entscheidung = ass.nextInt();
|
if (hand.get(i).karte.equals("Bube")||hand.get(i).karte.equals("Dame")||hand.get(i).karte.equals("König")) {
|
||||||
if (entscheidung == 1) {
|
entscheidung += 10;
|
||||||
ass.close();
|
} else if (!hand.get(i).karte.equals("Ass")) {
|
||||||
return 1;
|
entscheidung += Integer.parseInt(hand.get(i).karte);
|
||||||
} else if (entscheidung == 11) {
|
}
|
||||||
ass.close();
|
|
||||||
return 11;
|
|
||||||
}
|
}
|
||||||
} else
|
if (entscheidung<=10)
|
||||||
|
return 11;
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
}else if(karte.equals("Ass")&&counter==2) {
|
||||||
|
int entscheidung = 0;
|
||||||
|
int counterAss = 0;
|
||||||
|
for(int i = 0; i<hand.size(); i++) {
|
||||||
|
|
||||||
|
if (hand.get(i).karte.equals("Bube")||hand.get(i).karte.equals("Dame")||hand.get(i).karte.equals("König")) {
|
||||||
|
entscheidung += 10;
|
||||||
|
} else if (!hand.get(i).karte.equals("Ass")) {
|
||||||
|
entscheidung += Integer.parseInt(hand.get(i).karte);
|
||||||
|
} else if(counterAss<1) {
|
||||||
|
entscheidung += 1;
|
||||||
|
counterAss ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (entscheidung<=10)
|
||||||
|
return 11;
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
}else if(karte.equals("Ass")&&counter==3) {
|
||||||
|
int entscheidung = 0;
|
||||||
|
int counterAss = 0;
|
||||||
|
for(int i = 0; i<hand.size(); i++) {
|
||||||
|
|
||||||
|
if (hand.get(i).karte.equals("Bube")||hand.get(i).karte.equals("Dame")||hand.get(i).karte.equals("König")) {
|
||||||
|
entscheidung += 10;
|
||||||
|
} else if (!hand.get(i).karte.equals("Ass")) {
|
||||||
|
entscheidung += Integer.parseInt(hand.get(i).karte);
|
||||||
|
} else if(counterAss<2) {
|
||||||
|
entscheidung += 1;
|
||||||
|
counterAss ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (entscheidung<=10)
|
||||||
|
return 11;
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
}else if(karte.equals("Ass")&&counter==4) {
|
||||||
|
int entscheidung = 0;
|
||||||
|
int counterAss = 0;
|
||||||
|
for(int i = 0; i<hand.size(); i++) {
|
||||||
|
|
||||||
|
if (hand.get(i).karte.equals("Bube")||hand.get(i).karte.equals("Dame")||hand.get(i).karte.equals("König")) {
|
||||||
|
entscheidung += 10;
|
||||||
|
} else if (!hand.get(i).karte.equals("Ass")) {
|
||||||
|
entscheidung += Integer.parseInt(hand.get(i).karte);
|
||||||
|
} else if(counterAss<3) {
|
||||||
|
entscheidung += 1;
|
||||||
|
counterAss ++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (entscheidung<=10)
|
||||||
|
return 11;
|
||||||
|
else
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
return Integer.parseInt(karte);
|
return Integer.parseInt(karte);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,9 @@ public class Kartenstapel {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Karte getKarte(){
|
public Karte getKarte(){
|
||||||
|
if(kartenstapel.isEmpty()){
|
||||||
|
System.out.println("Es sind keine Karten mehr im Kartenstapel übrig!");
|
||||||
|
System.exit(0);}
|
||||||
Karte randomKarte = kartenstapel.get((int)(Math.random()*kartenstapel.size()));
|
Karte randomKarte = kartenstapel.get((int)(Math.random()*kartenstapel.size()));
|
||||||
kartenstapel.remove(randomKarte);
|
kartenstapel.remove(randomKarte);
|
||||||
return randomKarte;
|
return randomKarte;
|
||||||
|
|
Loading…
Reference in New Issue