Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Змейка

Автор: marwell 1.11.2011 17:51

доброго всем дня
появилась надобность в написании на Delphi всем известной игры змейка smile.gif
поиск по форуму выдал несколько страниц с темами, просмотрел все, но только в одной нашел хоть какую-то полезную мне информацию. но обучение в этой теме закончилось в самом начале smile.gif
использую схему предоставленную Lapp , http://forum.pascal.net.ru/index.php?act=Attach&type=post&id=3253
игра идет на Image, пара кнопок (New game, pause) Думаю для начала легче будет сделать тело змейки из квадратов. Также думаю координаты квадратов разумно будет брать из массива, элементы которого следует пересчитывать после каждого шага в цикле. Для одного лишь квадрата я представляю как это сделать, а вот чтобы можно было увеличивать их количество - не знаю wacko.gif

Автор: TarasBer 2.11.2011 13:25

Выбери лучше схему, при которой каждый элемент поля хранит координаты следующего элемента змейки. Тогда достаточно всё хранить в двумерном массиве.
Для определения положения смейки хватит только координат головы и хвоста.

Автор: marwell 2.11.2011 20:08

Цитата(TarasBer @ 2.11.2011 9:25) *

Выбери лучше схему, при которой каждый элемент поля хранит координаты следующего элемента змейки. Тогда достаточно всё хранить в двумерном массиве.
Для определения положения смейки хватит только координат головы и хвоста.

а как определить положение остальных звеньев если например змейка в какой то момент будет изогнутой?

Автор: TarasBer 2.11.2011 20:27

> а как определить положение остальных звеньев если например змейка в какой то момент будет изогнутой?

Я же сказал:

> каждый элемент поля хранит координаты следующего элемента змейки

Ячейка с хвостом хранит информацию о том, где предхвостовой элемент змейки. Предхвостовой хранит, где предпредхвостовой элемент. И так далее. Этого достаточно для движения змейки.

Автор: marwell 2.11.2011 20:36

Цитата(TarasBer @ 2.11.2011 16:27) *

> а как определить положение остальных звеньев если например змейка в какой то момент будет изогнутой?

Я же сказал:

> каждый элемент поля хранит координаты следующего элемента змейки

Ячейка с хвостом хранит информацию о том, где предхвостовой элемент змейки. Предхвостовой хранит, где предпредхвостовой элемент. И так далее. Этого достаточно для движения змейки.

аа, кажется понял, спасибо, попробую сделать