![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| spamER |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 14.11.2008 Репутация: нет Всего: 1 |
Народ, пожалуйста помогите.
Пытаюсь написать игру "Змейка". В качестве тела змеии использую массив из компонентов TShape (создаю их в отдельной процедуре - конструктором). Сама змейка движется, только вот когда управляешь ей, она НЕ правильно движется. Например при движении вверх все Shape'ы начинают вдигатся как в тетрисе. А нада как в обычной змейке. что бы она умела поворачивать. Проблема : как сделать управление змейкой (Вверх, Вниз, Вправо, Влево) что бы она правильно поворачивала??? То что я написал:
Вот прикрепил исходник, плз помогите. Это сообщение отредактировал(а) spamER - 24.1.2009, 14:12 |
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
Твоя основная ошибка: ты применяешь направление движения сразу для всех сегментов змейки:
попробуй сделать проще: не тягать всю змейку целиком, а переместить последний сегмент змейки (хвост) на новое положнение головы змейки. Это сообщение отредактировал(а) TForumUser - 17.12.2008, 23:55 --------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| spamER |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 14.11.2008 Репутация: нет Всего: 1 |
Можешь подсказать как это сделать.Если не тяжело приведи пример кода. ПЛЗ. |
||||
|
|||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
где i - (хвост змейки), j - голова змейки В начале i=2 j=1 остальные - по аналогии работает если изображение головы не отличается от изображения хвоста То, что смог набросать без делфи... Если не получится, завтра ещё подумаю) Это сообщение отредактировал(а) TForumUser - 18.12.2008, 00:36 --------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| Christoph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
а может переменные локальные? а цикл? или без цикла?
-------------------- ![]() |
|||
|
||||
| spamER |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 14.11.2008 Репутация: нет Всего: 1 |
TForumUser чет оно не работает
Добавлено через 9 минут и 8 секунд Народ ну помогите , плз. |
|||
|
||||
| Christoph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
конечно оно не будет работать.....я ж писал выше
-------------------- ![]() |
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
Ой, ну конечно работает, просто надо кое-то исправить
при запусек программы i = 1, j = (количество сегментов) n = (количество сегментов) И переменный должны быть глобальными, потому что сама процедура должна делать только один шаг, по той же причине не нужен цикл, так что нечего минусовать сообщения... Это сообщение отредактировал(а) TForumUser - 18.12.2008, 17:23 --------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| spamER |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 14.11.2008 Репутация: нет Всего: 1 |
Чет оно не работает. Мож кто знает как правильно нада ???
|
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
как именно оно не работает? потому что у меня все норм
--------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| spamER |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 14.11.2008 Репутация: нет Всего: 1 |
TForumUser оно даже не компилируется.
Если не тяжело прикрепи исходник(что бы уже рабочий был). |
|||
|
||||
| TForumUser |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 7.7.2007 Репутация: 0 Всего: 0 |
Знаете, при ошибке во время компиляции в нижней части окна с кодом появляется окошко, в котором описана суть ошибки. Обратив внимание на это окошко, можно догадаться, что вся проблема в повторном объявлении переменной. Если немного подстроить данный код под Вашу программу, можно получить рабочую программу:
И на будущее: на форуме не делают за вас всю работу, а наталкивают на мысль, так что привыкайте. Я же пишу за Вас программу лишь из-за того, что это мое сотое сообщение и я от осознания сего факта добрею. Это сообщение отредактировал(а) TForumUser - 19.12.2008, 19:34 --------------------
Экономте электроэнергию! Выключайте Num Lock! |
|||
|
||||
| NewDima |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: нет Всего: 12 |
Добавлено через 2 минуты и 33 секунды а мое 111-е )) |
|||
|
||||
| spamER |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 14.11.2008 Репутация: нет Всего: 1 |
1. TForumUser ОГРОМНОЕ спасибо.
2. NewDima также ОГРОМНОЕ спасибо. Не знаю даже как вас благодарить, спасибо. Все работает Это сообщение отредактировал(а) spamER - 19.12.2008, 20:29 |
|||
|
||||
| NewDima |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 922 Регистрация: 20.2.2006 Где: <?here?> Репутация: нет Всего: 12 |
приучись закрывать тему, чтобы те, кто заходит сюда помочь, могли быстро увидеть, где еще не помогли.
Сверху надпись-ссылка есть |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |