Hallo,
ich verstehe den Code nicht.
Aber 2 Ansätze:
1. Warum testet du nicht vorher, ob der Zug korrekt ist.
2. Erzeuge ein zweites Feld-Array
b, kopiere das
a in das
b vor dem Zug,
und wenn der Zug falsch ist, schreibst du
b wieder auf
a zurück.
das mit dem Formatieren war nicht böse gemeint,
nur ist es schon schwer genug, fremden Code zu lesen und wenn dann die Strukturen (if, for) nicht sofort
bei der Anzeige erkennbar sind, wird es schwer.
geht auch mit Lazarus:
https://forum.lazarus.freepascal.org...?topic=16432.0