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

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


Гость






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


Пионер
**

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

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


Ну ээ... lol.gif может я не правильно понимаю игру lines dry.gif Там вроде в ряд должно совпасть и я говорю о проверки совпало или нет =) Наверное я чего-то путаю
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 18.11.2006 14:27
Сообщение #3


Michael_Rybak
*****

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

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


Проверить совпало или нет очень просто. Идешь по строкам-столцам-диагоналям да проверяешь. Примерно так:


//не проверял

const dx: array[0..2] of integer = (1, 1, 0);
const dy: array[0..2] of integer = (0, 1, 1);

var a: array[1 .. 10, 1 .. 10] of integer; //поле: 0 если пусто, цвет шарика если шарик

...

procedure FindLines()

var will_delete[1 .. 10, 1.. 10] of boolean; //здесь будем отмечать все шарики, которые пропадут за ход
i, j, dir, k, len, color: integer;

begin

for i := 1 to 10 do
for j := 1 to 10 do
will_delete[i, j] := false;

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;


for i := 1 to 10 do
for j := 1 to 10 do
if will_delete[i, j] then
a[i, j] := 0;

end;



Сообщение отредактировано: Michael_Rybak - 18.11.2006 14:28
 Оффлайн  Профиль  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

 



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