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

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


Гость






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


Пионер
**

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

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


Не чень мне понятно:


for i := 1 to 10 do
for j := 1 to 10 do
for dir := 0 to 2 do begin //направление: вправо, по диаголи или вниз

len := 1;
color := a[i, j];
if color = 0 then
continue;

//идем по направлению, пока не вылезем за поле/не встретим другой цвет
while (i + len * dy[dir] <= 10) and (j + len * dx[dir] <= 10) and
(a[i + len * dy[dir], j + len * dx[dir]] = color) do
Inc(len);

if (len >= 5)
for k := 0 to len - 1 do
will_delete[i + k * dy[dir], j + k * dx[dir]] := true;

end;


И чего за dir ? Для чего он? Оргаментируй там каждую строчку плиз, а то я тупой очень(само критика рулит) =) И ты уверен что твой способ не ресурсо ёмкий? мои рамки сильно ограничены =(
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 18.11.2006 17:37
Сообщение #3


Michael_Rybak
*****

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

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


Цитата
И чего за dir ? Для чего он?

Алгоритм такой. Берем каждую непустую клетку, и от нее пытаемся идти до упора вправо, пока не встретим шарик другого цвета, или не упремся в границу поля. Потом проверяем, что длина найденного ряда шариков одинакового цвета больше или равна пяти, и если это так - удаляем (точнее не удаляем, а запоминаем, что их надо в конце удалить, т.к. ряды могут пересекаться).

Потом делаем то же самое, но идем не вправо, а по диагонали. А потом - вниз. Переменная dir задает направление движения, определяемое смещением dy[dir], dx[dir]. Когда dir = 0, получается dx = 1, dy = 0, т.е. движемся вправо. И т.д.

Цитата

И ты уверен что твой способ не ресурсо ёмкий? мои рамки сильно ограничены =(

Этот способ не самый оптимальный, но летать будет даже на Поиске.
 Оффлайн  Профиль  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 5:17
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"