Hallo, bin ja noch neu in Java und wir haben folgende Klassen (vielleicht erklärt sich das schon von selbst):
und hier mal eine Strategie:
wie krieg ich das hin? hab da so meine Probleme mit weil ich mich mit meinen gedanken immer verranz irgendwie
Java:
package Hausaufgaben;
public interface GefStrategie {
boolean getNextDecision();
// Diese Methode gibt als Ergebnis die nächste eigene Spielsentscheidung zurück.
void setOpponentsLastDecision (boolean decision);
//In dieser Methode wird dem Spieler der letzte Zug des Gegners mitgeteilt.
}
Java:
package Hausaufgaben;
public class DasSpiel {
public static void main(String[] args) {
//Neues Objekt vom Typ GefDilemma mit 2 Spielern
GefDilemma GD=new GefDilemma(new Pavlov(),new PerKind());
//100 mal spielen
GD.spiele(100);
}
}
Java:
package Hausaufgaben;
public class GefDilemma {
int player1 = 0;
int player2 = 0;
public GefDilemma(GefStrategie spieler1, GefStrategie spieler2) {
}
public void spiele(int n){
for (int i = n; i>0; i--){
if (spieler1 == true && spieler2 == true) // klappt nicht aber wieso?
}
}
/* führt n Spielrunden aus. Das darf den Spielern natürlich nicht bekannt sein.
* Eine Spielrunde besteht aus:
- Abfrage der Spieltaktik beider Spieler,
- Verteilen der Punkte.
- Beide Spieler bekommen den Zug des gegnerischen Spielers mitgeteilt und
überdenken so ihre Taktik für die nächste Runde.
Nach den n Spielrunden wird das Ergebnis auf dem Bildschirm ausgegeben.
Es gewinnt der Spieler mit den wenigsten Strafpunkten.
*/
}
und hier mal eine Strategie:
Java:
package Hausaufgaben;
public class Pavlov implements GefStrategie {
private boolean erster = false;
private boolean opponentsLastDecision = true;
private boolean myLast = true;
public boolean getNextDecision() {
if (erster == false){
this.myLast = true;
System.out.println("Pavlov true");
erster = true;
return true;
}else{
if (opponentsLastDecision != myLast) {
this.myLast = false;
System.out.println("Pavlov false");
return false;
} else {
this.myLast = true;
System.out.println("Pavlov true");
return true;
}}
}
public void setOpponentsLastDecision(boolean decision) {
this.opponentsLastDecision = decision;
}
}
wie krieg ich das hin? hab da so meine Probleme mit weil ich mich mit meinen gedanken immer verranz irgendwie