Дописал внешний вид заставки игры и диалог настроек игры. И понял, что конкретно лоханулся. Я абсолютно забыл, что если я хочу делать игровое поле произвольного размера (а поле представляет собой двумерный массив, хранящий статусы клеток), то статический массив мне не годится, надо использовать динамический. Радует то, что в Delphi, в отличие от pascаl, нет проблем с созданием и управлением думерными динамическими массивами. Все просто и элегантно.
Но даже это "просто и элегантно" придется вписывать в программу, да и еще учитывать различные критические ситуации. Так что можно считать, что программа будет переписана с нуля.
Ну а чтоб было интересней, игровое поле я оформлю как объект. Так удобнее и интереснее.
P.S.
Да, я извращенец.