forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Хвост змейки (http://forum.boolean.name/showthread.php?t=5675)

Fant 30.01.2008 17:17

Хвост змейки
 
Вообщем я сделал голову)
Осталось самое сложное - хвост, который повторяет все то, что сделала голова!

Из журнала пример змейки я пытался использовать, но он оказался сложным(

В принципе сделать так, что бы куб следовал за кубом - проблема разрешимая, а вот сделать так, что бы он в прошел такой же путь как и "голова" у меня не получается

Кто знает, подскажите пожалуйста?

alcoSHoLiK 30.01.2008 17:37

Ответ: Хвост змейки
 
http://forum.boolean.name/showthread.php?t=1169
Никто пока так и не оценил тутора Саба( Теперь и картинки пропали.

Tadeus 30.01.2008 17:39

Ответ: Хвост змейки
 
Цитата:

Сообщение от alcoSHoLiK (Сообщение 76110)
http://forum.boolean.name/showthread.php?t=1169
Никто пока так и не оценил тутора Саба( Теперь и картинки пропали.

Цитата:

Из журнала пример змейки я пытался использовать, но он оказался сложным(
Он читал это ;)

Fant 30.01.2008 17:40

Ответ: Хвост змейки
 
я ему спасибо даже сказал! Еще на том форуме) это и есть змейка из журнала! Но она оочень сложна! Особенно тем, что там имена переменных - жесть

impersonalis 30.01.2008 17:49

Ответ: Хвост змейки
 
Цитата:

Сообщение от alcoSHoLiK (Сообщение 76110)
http://forum.boolean.name/showthread.php?t=1169
Никто пока так и не оценил тутора Саба( Теперь и картинки пропали.

http://blitzetcetera.org/index.php/Туториал_«Змейка»

Fant 30.01.2008 17:53

Ответ: Хвост змейки
 
спасибо, но я в курсе о существовании туториала Саба о змее! Я говорю, что он очень сложен!

alcoSHoLiK 30.01.2008 17:54

Ответ: Хвост змейки
 
С головой все понятно: она двигается к следующей клетки, проверяет была ли нажата клавиша и дивгается дальше, либо поворачивает.

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

В худшем случае число элементов списка будет достигать количества звеньев змейки.

Fant 30.01.2008 18:00

Ответ: Хвост змейки
 
2alcoSHoLiK
Это интересно, а как хотя примерно это будет выглядеть на практике?
ЧТо такое спискок-я знаю
не сосем понятно как дабавить в список координату точки поворота...то есть..:crazy:

alcoSHoLiK 30.01.2008 18:22

Ответ: Хвост змейки
 
Просто. Создаешь список, элементы которого имеют тип TCoord, например.
Код:

Type TCoord
    Field x
    Field y
    Field dir    ; направление движения
   
    Field next    ; указатель на следующий элемент, в случае односвязного списка
End Type

; Определить значения для направления
const DIR_RIGHT = 0
const DIR_LEFT = 1
const DIR_UP = 2
const DIR_DOWN = 3



Часовой пояс GMT +4, время: 10:27.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot