Ich brauche Hilfe bei meinem ersten Spiel.
if (zeit + naechsteAktion >= spieldauer & punkteHeim == punkteGast) {
zeit + naechsteAktion >= spieldauer + verlaengerung ; }
Dieser Teil hat einen Fehler den ich nicht verstehe, würde mich über Hilfe freuen.
if (zeit + naechsteAktion >= spieldauer & punkteHeim == punkteGast) {
zeit + naechsteAktion >= spieldauer + verlaengerung ; }
Dieser Teil hat einen Fehler den ich nicht verstehe, würde mich über Hilfe freuen.
Java:
public class Freundschaftsfussballspiel {
// Attribute
private Mannschaft heimMannschaft;
private Mannschaft gastMannschaft;
private int punkteHeim;
private int punkteGast;
// get-Methoden
public int getPunkteHeim() {
return punkteHeim;
}
public int getPunkteGast() {
return punkteGast;
}
public String getErgebnisText() {
return " ERGEBNIS: \n\n " + heimMannschaft.getName() + " - "
+ gastMannschaft.getName() + " " + punkteHeim + ":"
+ punkteGast + ".";
}
boolean torchance(Spieler s, Torwart t, int aktuelleZeit, Mannschaft m) {
System.out.println("\n" + aktuelleZeit + ". Minute: ");
System.out.println(" Chance fuer " + m.getName() + " ...");
System.out.println(" " + s.getName() + " zieht ab");
boolean tor = !t.haelt(s.schiesstAufTor());
return tor;
}
public void starteSpiel(Mannschaft m1, Mannschaft m2) {
heimMannschaft = m1;
gastMannschaft = m2;
punkteHeim = 0;
punkteGast = 0;
// Spielzeit betraegt 90 Minuten + Nachspielzeit + Verlängerung
int spieldauer = 90 + (int) (Math.random() * 5);
int zeit = 1;
int naechsteAktion = (int) (Math.random() * 15) + 1;
int verlaengerung = 30 + (int) (Math.random() * 5);
// solange das Spiel laeuft, koennen Torchancen entstehen
while (zeit + naechsteAktion <= spieldauer) {
zeit = zeit + naechsteAktion;
if (zeit + naechsteAktion >= spieldauer & punkteHeim == punkteGast) {
zeit + naechsteAktion >= spieldauer + verlaengerung ; }
// Staerke der beiden Mannschaften und Spielniveau berechnen
double staerke1 = 0.8 * m1.getStaerke() + 0.15 * m1.getMotivation()
+ 0.05 * m1.getTrainer().getErfahrung();
double staerke2 = 0.8 * m2.getStaerke() + 0.15 * m2.getMotivation()
+ 0.05 * m2.getTrainer().getErfahrung();
double spielniveau = (int) (Math.random() * (Math.round(staerke1
+ staerke2)));
// zufaellige einen Torschuetzen bestimmen
int schuetze = (int) (Math.random() * 10);
// Angriff laeuft...
if (spielniveau < staerke1) {// Mannschaft 1 greift an
Spieler s = m1.getKader()[schuetze];
if (torchance(s, m2.getTorwart(), zeit, m1)) {// Tor faellt
punkteHeim++;
s.addTor();
System.out.println(" TOR!!! " + punkteHeim + ":"
+ punkteGast + " " + s.getName() + " ("
+ s.getTore() + ")");
} else {// Tor faellt nicht
System.out.println(" " + m2.getTorwart().getName()
+ " pariert glanzvoll.");
}
} else {// Mannschaft 2 greift an
Spieler s = m2.getKader()[schuetze];
if (torchance(s, m1.getTorwart(), zeit, m2)) {// Tor faellt
punkteGast++;
s.addTor();
System.out.println(" TOR!!! " + punkteHeim + ":"
+ punkteGast + " " + s.getName() + " ("
+ s.getTore() + ")");
} else {// Tor faellt nicht
System.out.println(" " + m1.getTorwart().getName()
+ " pariert glanzvoll.");
}
}
naechsteAktion = (int) (Math.random() * 15) + 1;
}
}
}
Zuletzt bearbeitet von einem Moderator: