|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.01.2012, 13:08 | #41 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
Спасибо, господа !
Вроде со всем разобрался, только вот разберусь как работать с vector, так как ни разу его не юзал.. Сяду буду царапать.. Постараюсь вечером показать какой-то результат!
Спеши медленно.
|
02.01.2012, 14:27 | #42 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
Serge_Bliznykov, а зачем? Текущей точке можно узнать куда ползти по разнице координат с предыдущей точкой: изменился x - ползём влево или вправо, изменился y - ползём вверх или вниз. Так что направление важно только голове. Ну или вообще, смотри мой вариант с добавлением новой головы на каждом шаге: там пересчитывать координаты тела питона не нужно.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
|
02.01.2012, 15:23 | #43 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
Соглашусь с тем что хранить в каждой ячейке змейки её направление - довольно бессмысленно.
Важно направление головы. |
05.01.2012, 00:28 | #44 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
Эх..
Не могу сделать часть игры, где осуществляется передвижение питона. вот код того, что имею.. move() переписывал уже раза 4, и так и эдак.. Код:
реализация должна быть такая: 1.В move передаем направление. 2.Смотря по направлению, в начало вектора добавляется новый элемент. 3.Последний элемент удаляем и на место где он был ставим пустую клеточку. как то так осуществляется передвижение, НО оно не работает!! вроде все правильно.. уже 2 голову ломаю, и 4 раза переписывал реализацию move() . подскажите, может лучше совсем по-другому сделать? или этот вариант не такой уж и плохой, но тогда, что в нем ни так?
Спеши медленно.
|
05.01.2012, 01:45 | #45 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
Все исправил..
Код:
в близлежащим будущем хочу еще меню и настройки.
Спеши медленно.
|
05.01.2012, 02:39 | #46 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
Код:
Код:
Я бы от них отказался, а при движении сначала закрашивал хвост, а потом удалял его из вектора. Ещё, подозреваю что переменные типа tmp тоже нет смысла хранить в виде поля.
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
|
05.01.2012, 14:10 | #47 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
sVasilich, pit.begin() и pit.end() можно использовать только с итераторами.
правильно? потому что, если я пишу вот так, компилятор ругается.. Код:
Спеши медленно.
|
05.01.2012, 14:25 | #48 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 224
|
Нет, не правильно. pit.begin() и pit.end() это и есть итераторы. Попробуй написать:
Код:
Код:
Люди бывают 10 типов: те, кто понимают двоичную систему счисления, и те, кто не понимают...
|
05.01.2012, 14:33 | #49 |
Форумчанин
Регистрация: 28.05.2011
Сообщений: 309
|
а в чем отличие "->" и "." ??
и если Вас не затруднит, объясните что такое итератор и где его надо применять ? прочитал не в одной книге про него, знаю как его написать и использовать, но до понимания далеко ..
Спеши медленно.
|
05.01.2012, 14:37 | #50 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Pascal движение змейки | zhenka619 | Помощь студентам | 0 | 29.12.2011 22:45 |
Обработка нажатия клавиш в TButton | mLight | Помощь студентам | 4 | 11.11.2011 20:53 |
Обработка клавиш на TListBox | Melanholly | Общие вопросы Delphi | 2 | 31.10.2011 14:06 |
Обработка событий клавиш клавиатуры | Synapse | Visual C++ | 2 | 20.10.2011 18:37 |
обработка нажатия клавиш VC++ консоль | rest | Помощь студентам | 0 | 06.10.2009 07:53 |