![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Студент
Форумчанин
Регистрация: 18.02.2009
Сообщений: 125
|
![]()
Помогите пожалуйта...как организовать движение змейки...точнее с чего начать и каким способом рисовать ее?
|
![]() |
![]() |
![]() |
#2 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Для начала, рисуй на канве. Поле- массив, ячейки которого могут принимать следующие значения: 0 - пусто, 1 - тело змейки, 2 - голова змейки, 3 - еда.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#3 |
Студент
Форумчанин
Регистрация: 18.02.2009
Сообщений: 125
|
![]()
а как сделать чтобы змейка поворачивала под прямым углом?
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 433
|
![]()
Сделай обработку нажатий клавиш : ВЛЕВО, ВПРАВО, ВНИЗ, ВВЕРХ. Для хранения координат ( ячеек ) в которых в данный момент времени находится змейка заведи двухсторонний список элементами которого будет запись Point с двумя целочисленными полями. Под прямым углом будет поворачивать в любом случае, если правильно заносить элементы в список. При движении достаточно лишь добавлять элемент в голову списка и удалять элемент из хвоста. Соответственно перерисовывать можно лишь изменения списка.
Допустим голова списка указывает на элемент, хранящий координаты 150, 150. При нажатии на клавишу ВЛЕВО в следующий момент времени добавить в голову элемент с координатой 149, 150. И по аналогии в остальных случаях. Как раз будет поворачивать под прямым углом. ЗЫ: В таком случае нужно еще проверить 2-ой от головы элемент списка, чтобы змейка не повернула внутрь себя Последний раз редактировалось mMAg; 08.09.2009 в 18:54. |
![]() |
![]() |
![]() |
#5 |
студент
Пользователь
Регистрация: 02.03.2008
Сообщений: 81
|
![]()
имеется пример подобной программы вполненной на дельфи... если надо могу поделиться посмотришь что да как?
|
![]() |
![]() |
![]() |
#6 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
![]()
...есть книга "Занимательное программирование"(поищите по форуму), там все есть...
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
исходник змейки | fis | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 21 | 31.03.2010 22:19 |
Проблема с движением вокруг своей оси. | intelx1989 | Общие вопросы Delphi | 3 | 14.05.2009 18:02 |
Как избавиться от появления хвоста за движением эдита edit? | Горожанин | Мультимедиа в Delphi | 9 | 30.04.2009 14:40 |
Управление движением объекта мышью | program123 | Общие вопросы Delphi | 9 | 08.03.2009 20:11 |