Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Lines 
:(
    Опции темы
Dexter
Дата 15.12.2002, 02:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Чето взбрело мне в голову игру Lines написать. Думал обломлюсь на поиске пути по которому шарики бегают. Нифига. Обломился еще раньше: на поиске пяти в ряд стоящих шариков одного цвета. Помогите.


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
December
Дата 15.12.2002, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: нет
Всего: 57



Перебираешь шарики.
Для каждого есть восемь направлений. Перебираешь их.
Положительный результат будет только для концевых шариков, но это и удобнее.
В чём проблема-то?


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 15.12.2002, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



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


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Step
Дата 16.12.2002, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



Цитата(MuToGeN @ 15.12.2002, 05:02)
что без перебора не обойтись, это понятно, но перебор можно сделать более гуманным по отношению к процессорному времени, т.е. перебирать не каждый шарик на 8 направлений, а строку/столбец/диагональ на наличие линии.
и не каждую строку/столбец/диагональ, а только ту, на которую поставили шарик

уважаю
творческий подход.

С целью увменьшения задержек при работе программы, можно создавать маску поля, где каждый квадрат это цвет, маска создается перед ходом играка пока он думает, после хода меняем маску в двух местах, и накладуем маску  выигрышного варианта на маску поля, проверяем суму и делаем вывод.
извинити что написал в общих понятих, расписывать долго.
выигрыш за счет приминения маски, и за счет простоя компа.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
Dexter
Дата 16.12.2002, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Что перебором я понял.
Та фигово в крайних клетках.
Нужно будет ахрененную функцию писать (во всяком случае она у меня такая получится). Это для каждой клетки нужно проверять... ща пощитаю... да все поле по-мойму  :(


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
MuToGeN
Дата 17.12.2002, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



Цитата(Step @ 16.12.2002, 13:18)
можно создавать маску поля, где каждый квадрат это цвет, маска создается перед ходом играка пока он думает, после хода меняем маску в двух местах, и накладуем маску  выигрышного варианта на маску поля, проверяем суму и делаем вывод.

т.е. присчитать все возможные выигрышные комбинации, и по ним сравнивать?

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


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
AntonSaburov
Дата 17.12.2002, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: нет
Всего: 118



Просчитать, сколько клеток заняты шариками того же цвета, что и перемещенный можно так:
- всего существует 8 направлений (вверх-вниз, вправо-влево и две диагонали)
- запустить рекурсивно расчет сколько шариков того же цвета идет вдоль этого направления.
По сути это одна функция, которая получает координаты шарика и номер направления. В зависимости от направления расчитывается координаты следующего шарика и если он того же цвета - вызвается эта же функция уже для нового шарика. А функция должна вернуть количество шариков.
Т.е. что-то типа расчета чисел Фибоначчи или факторияла с помощью рекурсии.
PM MAIL WWW ICQ   Вверх
December
Дата 18.12.2002, 05:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: нет
Всего: 57



За что люблю форум по алгоритмам: к процедуре решения квадратичного уравнения завсегдатаи примажут теорию графов... :cool
По-моему, если проверять только последний поставленный шарик, то машина потянет даже самую тугодумную процедурку.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 18.12.2002, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



а если юзверь парралельно с этим пару гигов чего-нибудь RARом упаковать пытается?


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Step
Дата 18.12.2002, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5151
Регистрация: 26.9.2002
Где: дурдом.UA

Репутация: нет
Всего: 25



Цитата(MuToGeN @ 17.12.2002, 02:48)
только тогда имхо придется вешать просчет маски на отдельный поток, и если просчет не закончен, когда юзер делает ход (может, он ходы быстро делает, а комп медленный), убивать этот поток и просчитывать отдельно для шарика или для строки/столбца/диагоналей

можно и так.


--------------------
- Дурак учится на своих ошибках, умный на чужих.
 - умные учатся у дураков
PM MAIL ICQ   Вверх
December
Дата 19.12.2002, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: нет
Всего: 57



Цитата(MuToGeN @ 18.12.2002, 01:28)
а если юзверь парралельно с этим пару гигов чего-нибудь RARом упаковать пытается?

Тогда и супералгоритм кардинально картину не изменит. Одна прорисовка будет дорого стоить.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 19.12.2002, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



Цитата(December @ 18.12.2002, 22:56)
Тогда и супералгоритм кардинально картину не изменит. Одна прорисовка будет дорого стоить.

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


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1094 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.