supi,
Ist ja nen Vier Gewinnt Spiel, sollten ne vererbung mit dem Spieler machen. Benutz aber statt Spieler 1 und Spieler 2 immer Spielsteine (x und o) und lass die halt nach jedem Zug wechseln.
Hab nun die Klasse Spieler
und Klasse SubSpieler
in der Spielsteuerung übergib ich zuerst den "Beginerstein" mit
Der ruft den Konstruktur von SupSpieler (Subklasse) auf, wo er mit
den wert an Spielstein in der Klasse Spieler übergibt.
und wechsel den Spieler dann mit
Meine Frage nur, ist das wirklich so richtig?! Muss am Dienstag abgeben und die Typen im Praktika wollen alles 100% Pro-mässig haben, obwohl ich find, fürs 1. Semester es schons etwas schwer ist. Die meisten Programmieren ja erst seit 3 Monaten.
hier mal die Spielsteuerung,
Ist ja nen Vier Gewinnt Spiel, sollten ne vererbung mit dem Spieler machen. Benutz aber statt Spieler 1 und Spieler 2 immer Spielsteine (x und o) und lass die halt nach jedem Zug wechseln.
Hab nun die Klasse Spieler
Java:
package viergewinnt_aufgabe2;
public class Spieler {
char spielstein;
public Spieler(char spielstein) {
this.spielstein = spielstein;
}
}
und Klasse SubSpieler
Java:
package viergewinnt_aufgabe2;
class SupSpieler extends Spieler {
char spieler1;
char spieler2;
public SupSpieler(char spielstein) {
super(spielstein);
spieler1 = 'x';
spieler2 = 'o';
}
public void WechselSpielerstein() {
if (spielstein == spieler1) {
spielstein = spieler2;
}
else {
spielstein = spieler1;
}
}
}
in der Spielsteuerung übergib ich zuerst den "Beginerstein" mit
Java:
SupSpieler aspieler = new SupSpieler('x');
Der ruft den Konstruktur von SupSpieler (Subklasse) auf, wo er mit
Java:
super(spielstein)
und wechsel den Spieler dann mit
Java:
aspieler.WechselSpielerstein();
Meine Frage nur, ist das wirklich so richtig?! Muss am Dienstag abgeben und die Typen im Praktika wollen alles 100% Pro-mässig haben, obwohl ich find, fürs 1. Semester es schons etwas schwer ist. Die meisten Programmieren ja erst seit 3 Monaten.
hier mal die Spielsteuerung,
Java:
/** ******************************************
* Klasse die nach der Hauptklasse alle weiteren Schritte regelt
************************************************/
public class Spielablauf {
/** ******************************************
* Hauptprozedure die das Spiel steuert, solang bis ein Sieger feststeht
* @param spieler - aktueler Spieler
* @param spielmodi - 1 für Mehrspieler, 0 für Einzelspieler
************************************************/
public void starteSpiel(int spielmodi) {
Spielfeld feld = new Spielfeld();
SpielerEingabe eingeben = new SpielerEingabe();
ConsolenAusgaben ausgeben = new ConsolenAusgaben();
Computer v_spieler = new Computer();
SupSpieler aspieler = new SupSpieler('x');
int reihe = 0;
int eingabe;
char sieger = ' ';
feld.setzeSpielfeld(); // erstellt das Spielfeld
do {
if ((spielmodi == 1) && (aspieler.spielstein == 'o')) {
eingabe = v_spieler.PcEingabe();
}
else {
System.out.println("Spielerstein "+aspieler.spielstein+" ist am Zug");
// holt die Eingabe in welcher Reihe der Spieler/Computer sein Sielstein setzt
eingabe = eingeben.holeEingabe();
}
// setzt den Spielstein in ein freies Feld in der reihe und gibt die Reihe zurück
reihe = feld.setzeSpielstein(eingabe, aspieler.spielstein);
// übergibt x,y kooridnaten innerhalb des Arrays und prüft ob 4 Spielsteine in einer Reihe existieren.
sieger = feld.hatGewonnen(eingabe, reihe, aspieler.spielstein);
aspieler.WechselSpielerstein();
}
while (sieger == ' ');
ausgeben.zeigeGewinner(sieger);
}
}
Zuletzt bearbeitet von einem Moderator: