Ich hab bisher nur kleinere Spielereien wie einen Rechner und eine Primzahlstatistik gemacht. Jetzt habe ich mich mal an was "größeres" rangewagt. Allerdings sieht das ganze in meinen Augen noch recht umständlich und zu kompliziert aus. Gibt es Verbesserungsvorschläge?
Würde gerne einfach mal andere Meinungen hören.
Würde gerne einfach mal andere Meinungen hören.
PHP:
public class BlackJack
{
private String wandler;
private int konto;
private int bet;
private int PunkteImSpiel;
private int DealerPunkte;
private int DealerAusstieg;
private int wurfelzahl;
private double zufallswert;
private String A ="A";
private String zwei ="2";
private String drei ="3";
private String vier ="4";
private String fuenf ="5";
private String sechs ="6";
private String sieben ="7";
private String acht ="8";
private String neun ="9";
private String zehn ="10";
private String J ="j";
private String D ="D";
private String K ="K";
public BlackJack()
{
konto = 500;
bet = 10;
DealerAusstieg = 17;
}
public void gibKontostand()
{
System.out.print(konto);
}
public void aendereBet(int newBet)
{
bet = newBet;
}
private void ziehen()
{
zufallswert = Math.random()*13;
if (zufallswert < 1)
{PunkteImSpiel += 2; System.out.print ("2");}
if (zufallswert > 2 && zufallswert < 2 )
{PunkteImSpiel += 3; System.out.print ("3");}
if (zufallswert > 2 && zufallswert < 3)
{PunkteImSpiel += 4; System.out.print ("4");}
if (zufallswert > 3 && zufallswert < 4)
{PunkteImSpiel += 5; System.out.print ("5");}
if (zufallswert > 4 && zufallswert < 5)
{PunkteImSpiel += 6; System.out.print ("6");}
if (zufallswert > 5 && zufallswert < 6)
{PunkteImSpiel += 7; System.out.print ("7");}
if (zufallswert > 6 && zufallswert < 7)
{PunkteImSpiel += 8; System.out.print ("8");}
if (zufallswert > 7 && zufallswert < 8)
{PunkteImSpiel += 9; System.out.print ("9");}
if (zufallswert > 8 && zufallswert < 9)
{PunkteImSpiel += 10; System.out.print ("10");}
if (zufallswert > 9 && zufallswert < 10)
{PunkteImSpiel += 10; System.out.print ("J");}
if (zufallswert > 10 && zufallswert < 11)
{PunkteImSpiel += 10; System.out.print ("D");}
if (zufallswert > 11 && zufallswert < 12)
{PunkteImSpiel += 10; System.out.print ("K");}
if (zufallswert > 12 && zufallswert < 13)
{PunkteImSpiel += 11; System.out.print ("A");}
}
private void Dealerziehen()
{
zufallswert = Math.random()*13;
if (zufallswert < 1)
{DealerPunkte += 2; System.out.print ("2");}
if (zufallswert > 2 && zufallswert < 2 )
{DealerPunkte += 3; System.out.print ("3");}
if (zufallswert > 2 && zufallswert < 3)
{DealerPunkte += 4; System.out.print ("4");}
if (zufallswert > 3 && zufallswert < 4)
{DealerPunkte += 5; System.out.print ("5");}
if (zufallswert > 4 && zufallswert < 5)
{DealerPunkte += 6; System.out.print ("6");}
if (zufallswert > 5 && zufallswert < 6)
{DealerPunkte += 7; System.out.print ("7");}
if (zufallswert > 6 && zufallswert < 7)
{DealerPunkte += 8; System.out.print ("8");}
if (zufallswert > 7 && zufallswert < 8)
{DealerPunkte += 9; System.out.print ("9");}
if (zufallswert > 8 && zufallswert < 9)
{DealerPunkte += 10; System.out.print ("10");}
if (zufallswert > 9 && zufallswert < 10)
{DealerPunkte += 10; System.out.print ("J");}
if (zufallswert > 10 && zufallswert < 11)
{DealerPunkte += 10; System.out.print ("D");}
if (zufallswert > 11 && zufallswert < 12)
{DealerPunkte += 10; System.out.print ("K");}
if (zufallswert > 12 && zufallswert < 13)
{DealerPunkte += 11; System.out.print ("A");}
}
public void SpielStarten()
{
PunkteImSpiel = 0;
ziehen();
System.out.print(" gezogen; Punkte: "+PunkteImSpiel);
}
public void nachziehen()
{
ziehen();
System.out.print(" gezogen; Punkte: "+PunkteImSpiel);
if (PunkteImSpiel == 21)
{
konto = konto + bet;
System.out.println("");
System.out.println("");
System.out.println("Spiel gewonnen");
System.out.println("Konto: " + konto);
PunkteImSpiel = 0;
}
if (PunkteImSpiel > 21)
{
konto = konto - bet;
System.out.println("");
System.out.println("");
System.out.println("Spiel verloren");
System.out.println("Konto: " + konto);
PunkteImSpiel = 0;
}
}
public void ziehenBeenden()
{
System.out.print("Karten Dealer: ");
while (DealerPunkte < DealerAusstieg)
{
Dealerziehen();
System.out.print(" ");
}
if (DealerPunkte < PunkteImSpiel || DealerPunkte > 21)
{
konto = konto + bet;
System.out.println("");
System.out.println("Punkte Dealer: "+DealerPunkte+ " | Punkte Spieler: "+PunkteImSpiel);
System.out.println("");
System.out.println("Spiel gewonnen:");
System.out.println("Konto: " + konto);
PunkteImSpiel = 0;
}
else
{
konto = konto - bet;
System.out.println("");
System.out.println("Punkte Dealer: "+DealerPunkte+ " | Punkte Spieler: "+PunkteImSpiel);
System.out.println("");
System.out.println("Spiel Verloren:");
System.out.println("Konto: " + konto);
PunkteImSpiel = 0;
}
}
}
Zuletzt bearbeitet:
, dann hast du weniger Deklaration und auch die Zufallsgeschichte wäre nur noch ein Zugriff auf den Index.