Solitär (Brettspiel) programmieren

Hey Freunde,
kann mir jemand helfen bei dem Solitär Brettspiel. Ich habe keine ahnung wie man sowas programmieren soll, dass man eine pin überspringt..

Spiel „Solitär“
Spielfeld: 5*5-Quadrat-Solitär
Bedingungen:
- Spielfeldgröße trotz der festen Angabe von 5*5 Feldern variabel halten.
- Wird ein Pin(#) von einem anderen übersprungen, wird er vom Spielfeld genommen.
- Ein Pin darf nicht aus dem Spielfeld gezogen worden.
- Ein Pin darf nicht auf einen anderen gezogen werden.
- Erstellen Sie eine Methode zug, und implementieren Sie in dieser Ihre Spiellogik. In dieser Methode soll auch die Eingabe der Koordinaten vorgenommen werden (es wird der Pin gewählt, der in das leere Feld gesteckt werden soll).

Kann mir jemand z.B. ein Algorithmus schreiben und ich versuch es zu programmieren.
Ein Feld hab ich schon erzeugt.
 
soooo

[CODE lang="java" title="feld"]public class Spielfeld {

static boolean[][] feld = new boolean[5][5];

public static void starteSpiel() {
for (int i = 0; i < feld.length; i++) {

for (int j = 0; j < feld.length; j++) {
feld[j] = true;
}
}
feld[2][3] = false;
}

public static void ausgabeSpielfeld() {
for (int i = 0; i < feld.length; i++) {
for (int j = 0; j < feld.length; j++) {
if(feld[j] == true ) {
System.out.print("#" + " ");
}else {
System.out.print("-" + " ");
}

}
System.out.println();
}


}[/CODE]
 
Das sieht erstmal schon gut aus. Dennoch ein paar Hinweise:

- Ich würde hier alle "static" entfernen.
- Außerdem würde ich der Klasse einen Konstruktor gönnen, dem die Größe des Arrays als Parameter übergeben wird (statt sie fest mit 5 anzugeben). Damit erfüllst du die Anforderung: "Spielfeldgröße trotz der festen Angabe von 5*5 Feldern variabel halten."
- if(feld[i][j] == true ) schreibt man besser als: if(feld[i][j]).

EDIT: Der Konstruktor würde dann auch starteSpiel() ersetzen (oder aufrufen).
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben