Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#11

AW: Das Problem mit dem letzten Spielstein

  Alt 16. Jun 2010, 18:44
Das Grundprinzip aller einfachen 2D-Spiele sieht so aus:

Es gibt ein zweidimensionales Feld ("Spielfeld") mit Statuswerten.
Diese Statuswerte werden am Bildschirm angezeigt; das nennt man Visualisierung.
Wenn sich etwas ändern soll, wird immer das Spielfeld geändert und dann einfach das gesamte Spielfeld neu visualisiert.
Es gibt niemals den Fall, dass man direkt an der Anzeige etwas ändert; das Spielfeld bleibt immer die Grundlage für das ganze Spiel.

Für die Statuswerte gibt es verschiedene Möglichkeiten.
Man kann einen Integer nehmen und den verschiedenen Werten ein Bildchen oder eine Figur zuordnen.
Beim 3-Gewinnt Spiel (Tic Tac Toe) wäre z.B. 0=leeres Feld, 1=Spieler A, 2=Spieler B

Man kann auch den Typ Char als Statuswert verwenden.
Für den Programmierer hat das den Vorteil besonders anschaulich zu sein.
z.B. ' '=leeres Feld, 'X'=Spieler A, 'O'=Spieler B

Ich würde empfehlen das Spielfeld so zu deklarieren:
Delphi-Quellcode:
type
  TSpielfeld = array[1..3, 1..3] of Char;
var
  spielfeld : TSpielfeld;
Um das Spielfeld anzuzeigen würde ich ein TDrawGrid (auf Palettenseite Zusätzlich) verwenden.

Kochrezept für das Spiel Tic-Tac-Toe
1.) Spielfeld definieren
2.) einfache Visualisierungsfunktion erstellen
für den Anfang kann man das Spielfeld auch in einem Textfeld ausgeben
3.) Eingabemöglichkeit für einen Zug schaffen (z.B. Spieler gibt x- und y-Koordinate ein)
4.) Funktion bauen, die prüft ob ein Zug gültig ist
5.) Funktion bauen, die prüft ob ein Spieler schon gewonnen hat (falls ja, welcher?)
6.) Funktion bauen, die prüft ob das Spielfeld komplett voll ist (unentschieden)
7.) Visualisierung verbessern und Zugeingabe per Mausklick ermöglichen
damit kann die primive Eingabe von Punkt 3.) wieder entfernt werden
Andreas
  Mit Zitat antworten Zitat