Würde ich nicht mit einem Array lösen, zu viele stellen, zu hoher rechenaufwand. um flüssige bewegungen darstellen zu können muss das array eben entsprechend groß sein.
100X100(=10 000) speicherzellen.
Ob das flüssig läuft weiß ich nicht. kannst ja mal zum spaß so ein Array erstellen und dann komplett durchlaufen und zeit messen
oder so.
ansonsten ist eine quer-bewegung durch ein 2d-array sehr einfach:
neuX := altX+1
neuY := altY+1
Wäre zB eine diagonale bewegung.
Ansonsten könntest du auch iwelche Shapes, Images, sonstwas auf eine Form knallen und dann mit Form.Dingenskirchen.left/top bewegen.
wenn du mit vektoren arbeiten willst, schlag ich vor sie als record mit x, y Konstanten zu speichen.
gibt viele möglichkeiten