Java/Roulette
Aus ZUM-Unterrichten
< Java
Eine Umsetzung eines Roulettespiels mit BlueJ.
Quelltext
- Klasse Kugel
<java> public class Kugel {
// instance variables - replace the example below with your own private int zahl; private String farbe;
// Konstruktor - Startposition public Kugel() { zahl = 0; farbe = "gruen"; }
public void rolleKugel() { // Zahl zwischen 0 und 36 zahl = (int) ((Math.random()*37)); if (zahl == 1 || zahl == 3 || zahl == 5 ||zahl == 7 || zahl == 9 || zahl == 12 ||zahl == 14 ||zahl == 16 ||zahl == 18 ||zahl == 19 ||zahl == 21 ||zahl == 23 ||zahl == 25 ||zahl == 27 ||zahl == 30 ||zahl == 32 ||zahl == 34 ||zahl == 36) { farbe = "rot"; } else { if (zahl == 0) { farbe = "gruen"; } else { farbe = "schwarz"; } } }
public String getFarbe(){ return farbe; } public void testeKugel(int anzahl){ int anzahlRot=0; int anzahlSchwarz=0; int anzahlGruen=0; for (int i=1;i<=anzahl;i++){ rolleKugel(); if (farbe.equals("rot")) { anzahlRot++; } if (farbe.equals("schwarz")) { anzahlSchwarz++; } if (farbe.equals("gruen")) { anzahlGruen++; } } System.out.println(anzahlRot+" von "+anzahl+" waren rot."); System.out.println((anzahlRot*1000/anzahl)/10.0 + " Prozent der Spiele.\n"); System.out.println(anzahlSchwarz+" von "+anzahl+" waren schwarz."); System.out.println((anzahlSchwarz*1000/anzahl)/10.0 + " Prozent der Spiele.\n"); System.out.println(anzahlGruen+" von "+anzahl+" waren gruen."); System.out.println((anzahlGruen*1000/anzahl)/10.0 + " Prozent der Spiele.\n"); }
} // Ende der Klasse </java>
- Klasse Spieler
<java> public class Spieler {
private double vermoegen; private double einsatz; private String farbe;
public Spieler() { vermoegen = 1000; einsatz = 10; farbe = "schwarz"; } public double getEinsatz() { return einsatz; }
public String getFarbe() { return farbe; } public void verbucheSpielergebnis(double betrag) { vermoegen += betrag; }
} </java>
- Klasse Croupier
<java> public class Croupier {
private Kugel k; private Spieler spieler1; private Spieler spieler2;
private double bankvermoegen;
public Croupier(Spieler pSpieler1, Spieler pSpieler2) { k = new Kugel(); bankvermoegen = 1000000; spieler1 = pSpieler1; spieler2 = pSpieler2; }
public void spieleEineRunde() { k.rolleKugel(); if (k.getFarbe().equals(spieler1.getFarbe())) { bankvermoegen-=spieler1.getEinsatz(); spieler1.verbucheSpielergebnis(spieler1.getEinsatz()); } else { bankvermoegen+=spieler1.getEinsatz(); spieler1.verbucheSpielergebnis(-spieler1.getEinsatz()); } if (k.getFarbe().equals(spieler2.getFarbe())) { bankvermoegen-=spieler2.getEinsatz(); spieler2.verbucheSpielergebnis(spieler2.getEinsatz()); } else { bankvermoegen+=spieler2.getEinsatz(); spieler2.verbucheSpielergebnis(-spieler2.getEinsatz()); } }
} </java>