Java/Roulette: Unterschied zwischen den Versionen
Aus ZUM-Unterrichten
< Java
main>Ugh Keine Bearbeitungszusammenfassung |
main>Karl Kirst K (+kat Informatik; Bild zentriert) |
||
| Zeile 1: | Zeile 1: | ||
Eine Umsetzung eines Roulettespiels mit [[BlueJ]]. | Eine Umsetzung eines Roulettespiels mit [[BlueJ]]. | ||
[[Bild:BlueJRoulette.gif]] | [[Bild:BlueJRoulette.gif|center]] | ||
==Quelltext== | ==Quelltext== | ||
| Zeile 141: | Zeile 141: | ||
} | } | ||
</java> | </java> | ||
[[Kategorie:Informatik]] | |||
Version vom 5. Februar 2007, 20:45 Uhr
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>

