IPB
ЛогинПароль:

> Хелп ми плиз With Lines
Falcon 00*5
сообщение 18.11.2006 9:38
Сообщение #1


Гость






Срочно нужны исходники игры Lines , это которая шарики и все такое.. Сам сделал процентов на 40 , но хотелось бы еще увидеть ваши варианты, может быть у кого то уже есть эта игра?
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
XaMMaX
сообщение 19.11.2006 10:01
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 85
Пол: Мужской
Реальное имя: max

Репутация: -  0  +


Блин звучит разумно только не очень понятно =( Можно что ли рисунок не большой? Или код ?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 19.11.2006 13:00
Сообщение #3


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Короче тебе в любом случае надо не только узнавать, можно ли дойти до клетки, но и находить, собственно, сам путь.

Вот тебе урла: http://www.firststeps.ru/theory/karta.html

Вот оттуда картинка:

Изображение

На пальцах: ставим в начальную клетку нолик. Теперь в каждую пустую клетку, соседствующую с ноликом, ставим единицу. Теперь в каждую пустую клетку, соседствующую с одной из единиц, ставим двойку и т.д.

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

По окончании "волн" число в клетке будет обозначать минимальное количество ходов до нее.

Так вот. Когда юзер клацает на шарике, который надо мувать, ты пускаешь такую "волну" до упора, и запоминаешь ее. Потом, когда юзер клацнул в клетку, в которую надо перейти - смотришь, дошла ли туда волна. Если волна не дошла - значит, нельзя туда попасть. Если же дошла - нам надо восстановить путь. Делаем это с конца. Пусть в целевой клетке стоит число 14 (как на картинке). Это значит, что мы дошли туда за 14 "волн". И это значит, что где-то рядом стоит число 13! Перебираем четырех соседей, идем туда, где 13. Теперь то же самое: где-то рядом есть 12, идем туда. Теперь дальше: где-то рядом есть 11. Видим, что есть 2 клетки, в которых 11 - не страшно, идем в любую, ведь любая из них достижима из начальной за 11 ходов. И так далее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Falcon 00*5   Хелп ми плиз With Lines   18.11.2006 9:38
XaMMaX   Плиз мне тоже оч нужны! а то не знаю по какому...   18.11.2006 12:33
Michael_Rybak   Какие такие соответствия?   18.11.2006 12:44
XaMMaX   Ну ээ... :lol: может я не правильно понимаю игру ...   18.11.2006 12:48
Michael_Rybak   Проверить совпало или нет очень просто. Идешь по с...   18.11.2006 14:27
XaMMaX   Не чень мне понятно: for i := 1 to 10 do for...   18.11.2006 16:43
Michael_Rybak   Алгоритм такой. Берем каждую непустую клетку, и о...   18.11.2006 17:37
XaMMaX   Да и как сделать что бы после нажатия на шарик он ...   18.11.2006 16:54
XaMMaX   Этот способ не самый оптимальный, но летать будет ...   18.11.2006 17:48
Falcon 00*5   О! Пасиба за идею , мне она тоже потребуется.....   18.11.2006 19:39
XaMMaX   Присоединяюсь ибо не понимаю как опредилить закрыт...   18.11.2006 19:53
Michael_Rybak   давай ты так сначала попробуешь, а там поговорим ;...   19.11.2006 2:37
XaMMaX   Блин звучит разумно только не очень понятно =( Мож...   19.11.2006 10:01
Michael_Rybak   Короче тебе в любом случае надо не только узнавать...   19.11.2006 13:00
XaMMaX   Хм да это уже понятнее =) Надо только код сформули...   19.11.2006 13:21
Michael_Rybak   Приходи, приходи :)   19.11.2006 14:41
XaMMaX   Блин чё то я не врубаюсь как код сделать! Хелп...   19.11.2006 15:18
Michael_Rybak   Ну как это - не врубаешься? Идею понял? Понял. Зна...   19.11.2006 15:46
XaMMaX   Хм можно всё же пример ни как не получается =( В г...   19.11.2006 16:58
XaMMaX   У меня вопрос по проверки приведённой тобой! З...   24.11.2006 17:57
Michael_Rybak   Опа, действительно бага. Надо добавить еще одно на...   24.11.2006 18:15
XaMMaX   Да ещё на счёт Inc(len); я не понял это типа len= ...   24.11.2006 18:25
Michael_Rybak   Угу   24.11.2006 18:38
XaMMaX   Как бы переделать получше код?   24.11.2006 18:43
Michael_Rybak   Разберись и сразу поймешь ;)   24.11.2006 18:49
XaMMaX   Так что ли? const dx: array[0..2] of integer = (1...   24.11.2006 19:08
Michael_Rybak   Так что ли? const dx: array[0..2] of integer = (...   24.11.2006 22:18
XaMMaX   О дело идёт к концу жду не дождусь когда скажу теб...   25.11.2006 11:44
Michael_Rybak   О дело идёт к концу жду не дождусь когда скажу те...   25.11.2006 12:53
Falcon 00*5   Люди! Помогите с волновым алгоритмом! ПЛZ...   20.12.2006 22:59


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.06.2025 7:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"