Du musst im Objektinspektor die Ereignisse OnMouseMove und OnMouseDown versorgen.
Du kannst für alle Images dieselben Routinen verwenden, weitergehende Entscheidungen kannst Du über z.B. über
if Sender=ImageTurm then
realisieren.
Die Gültigkeit der Züge musst Du über Top / Left verifizieren, ich würde hierfür wie gesagt ein Array anlegen.
z.B.
Delphi-Quellcode:
type
TMyFieldInfo=Record
Farbe:TColor;
AktuelleFigur:Integer;
//was auch immer noch
end;
TFieldArray=Array[0..7,0..7] of TMyFieldInfo;