Du könntest dir ein Record für jedes Feld bauen:
Delphi-Quellcode:
MeinFeld= Record
FeldFarbe: Boolean; // Schwarz oder weiss
FigurFarbe: Byte; //1: schwarze Figue, 2: weisse Figur, 3: unbesetzt
Dame: Boolean; // falls die Figur auf dem Feld eine Dame ist.
end;
Das kannst du dann in einem Array benutzen:
Spielfeld=array[1..8] of array of [1..8] of Meinfeld;
Am Anfang kannst du dann die Felder besetzen:
Spielfeld[1,1].feldFarbe:=1, und eine schwarze Figus steht drauf: Spielfeld[1,1].Figurfarbe:=1;
Zum zeichnen nimmst du dann einfach ein Canvas. Klickt der Spieler dann in dein Canvas, berechnest du das betreffende Feld und merkst es dir. Mit if Meinfeld[x,y].Figurfarbe=0 kannst du gleich rausfinden, ob da überhaupt eine Figur steht. Wenn da eine Figut steht, wird der Spieler dann auf ein weiteres Feld klicken, wo dann die Figur hin soll. Wenn er einfach nur schräg laufen will (ich glaube, dass darf man) kannst du einfach überprüfen, ob er dass dann darf:
(er will von a,b nach x,y ziehen)
Delphi-Quellcode:
for i:=min(a,x) to max(a,x) do
for j:=min(b,y) to max(b,y) do
if Feld[i,j] ist unbesetzt then weitermachen, else abrechen und Problem ausgeben.
end;
Erwarte das Beste und bereite dich auf das Schlimmste vor.