Hello,
Definiere das gesamte Spielfeld als zweidimensionales Array, in dem du für jedes Planquadrat vermerkst, ob der Aufenthalt dort erlaubt ist oder nicht. Da eine boolsche Information pro Feld genügt, hält sich der Speicherbedarf in Grenzen, wenn man die Granularität nicht zu fein wählt.
Male das Spielfeld einfach als Grafik und frage jedesmal die Farbe des Punktes ab. Ist er schwarz, handelt es sich um einen verbotenen Bereich.
Oder frage gleich den Bild(schirm)speicher ab welche Farbe er vor dem Weiterrücken auf die geplante Position hatte. Zur Not musst Du da einen kleinen Ringspeicher (FiFo) aufbauen, da der Ball ja eine Abmessung hat und man schlecht nah der Farbinformation danach fragen kann, wenn der Ball schon auf seinem neuen Platz ist. Dann ist der ja schon rot.
Oder Du musst mit zwei Layern arbeiten, die nicht verschmelzen, sondern nur überlagert werden. Das kostet aber noch mehr Speicher.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg