![]() |
|
![]() ![]() ![]() |
|
Dexter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: нет Всего: 4 |
Чето взбрело мне в голову игру Lines написать. Думал обломлюсь на поиске пути по которому шарики бегают. Нифига. Обломился еще раньше: на поиске пяти в ряд стоящих шариков одного цвета. Помогите.
-------------------- The only thing you really know about me is... ...that's all you'll ever know |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Перебираешь шарики.
Для каждого есть восемь направлений. Перебираешь их. Положительный результат будет только для концевых шариков, но это и удобнее. В чём проблема-то? |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 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! |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
уважаю творческий подход. С целью увменьшения задержек при работе программы, можно создавать маску поля, где каждый квадрат это цвет, маска создается перед ходом играка пока он думает, после хода меняем маску в двух местах, и накладуем маску выигрышного варианта на маску поля, проверяем суму и делаем вывод. извинити что написал в общих понятих, расписывать долго. выигрыш за счет приминения маски, и за счет простоя компа. -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
Dexter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1562 Регистрация: 2.7.2002 Где: Москва, Бирюлево Репутация: нет Всего: 4 |
Что перебором я понял.
Та фигово в крайних клетках. Нужно будет ахрененную функцию писать (во всяком случае она у меня такая получится). Это для каждой клетки нужно проверять... ща пощитаю... да все поле по-мойму ![]() -------------------- The only thing you really know about me is... ...that's all you'll ever know |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
т.е. присчитать все возможные выигрышные комбинации, и по ним сравнивать? только тогда имхо придется вешать просчет маски на отдельный поток, и если просчет не закончен, когда юзер делает ход (может, он ходы быстро делает, а комп медленный), убивать этот поток и просчитывать отдельно для шарика или для строки/столбца/диагоналей -------------------- 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! |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 118 |
Просчитать, сколько клеток заняты шариками того же цвета, что и перемещенный можно так:
- всего существует 8 направлений (вверх-вниз, вправо-влево и две диагонали) - запустить рекурсивно расчет сколько шариков того же цвета идет вдоль этого направления. По сути это одна функция, которая получает координаты шарика и номер направления. В зависимости от направления расчитывается координаты следующего шарика и если он того же цвета - вызвается эта же функция уже для нового шарика. А функция должна вернуть количество шариков. Т.е. что-то типа расчета чисел Фибоначчи или факторияла с помощью рекурсии. |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
За что люблю форум по алгоритмам: к процедуре решения квадратичного уравнения завсегдатаи примажут теорию графов...
![]() По-моему, если проверять только последний поставленный шарик, то машина потянет даже самую тугодумную процедурку. |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 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! |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: нет Всего: 25 |
можно и так. -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
December |
|
|||
![]() Antitheorist ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4423 Регистрация: 14.8.2002 Где: Харьков Репутация: нет Всего: 57 |
Тогда и супералгоритм кардинально картину не изменит. Одна прорисовка будет дорого стоить. |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
тогда прорисовкой, а точнее наложением спрайтов и блиттингом будет заниматься видюха, которой для этого достаточно получить пару инструкций от твоей программы. да и проблемами архивации она как-то не озадачена... -------------------- 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! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |