| Здравствуйте, гость | Правила · Помощь |
Все темы | | | |
| » Проги, боты и иже с ними, по просьбе Magystr'a | | | |
|
» 16/10/2007, 16:41, GroundZero
|
|
Всем привет.
Как программер по образованию предложу свой вариант быстрого создания бота - первое что пришло в голову. Имееем следующие предпосылки: 1. С Лукавым можно играть в текстовом режиме - т.е. из командной строки или посылая сигналы нажатия клавиш - т.е. использовать движок для анализа ЭЛЕМЕНТАРНО!!! Может и с другими так можно. 2. Мы знаем правило расстановки фигур в шахматах - для протокола (если нужно передавать движку информацию о фигуре хода, это можно отследить). 3. Мы знаем внешний вид интерфейса клиента. 4. Умеем немного программировать, скажем, на Делфи в пределах учебного курса средненького ВУЗа. Алгоритм работы бота: 1. Начинаем протокол партии - чиста для себя, с идеей пытаться обходить отлов бота. Итерационная процедура: 2. Запускаем цикл снятия скринов с той части экрана, где отражена доска. 3. Проводим сравнение скринов с эталонным (снятым сразу после своего хода) - на предмет хода соперника, в оперативной памяти это делается быстро, дожидаемя хода соперника и: 4. Вычисляем ход, сравнивая все квадратики доски с эталонными (т.е. находим два изменившихся - типа изменились Д5 и Е6 - вот и ход), тупо но сработает и реализуется легко, сравнивать можно вообще ОДИН! пиксел в центре клетки. 5. Передаем Лукавому Д5Е6 (например) - кстати, вроде именно в таком виде он принимает. 6. Выводим в угол экрана три варианта ответа. 7. Повторяем итерационную процедуру. ВСЕ что здесь написано легко реализуемо, меня останавливает лень и бессмысленность (с моей т.з.) этого дела, но некоторые может и сделали уже. Идея - первая попавшаяся - найдутся проще и элегантней. Собственно вот Ред. И ещё - можно реализовать сам ход - подвел курсор в центр нужной клетки, послал сообщение типа wm_leftmousebuttondown или как там в ОС - непомню, подвел курсор к другой клетке и послал сообщение отпустить. Усё, но идея с подсказками лучше - при нескольких подсказках за партию, мое мнение, мой рейт с 200 подскачет до 600 - 800, кроме того я могу чисто выигрывать концовки, просто меняя фигуры в середине партии уповая на свой стиль игры такой или же наоборот поражать тактикой в середине, выигрывать фигуру, а с фигурой, с конем я (сам) процентах в 30-40 обыгрываю ЧМ10000. Итог: реализуется за день (рабочий), поймать очень сложно. Используются подсказки избирательно, или не используются. Потом можно на форуме высказывать свое "веское" мнение, или же учить шахматам всех зрителей за столом - дело вкуса, но, по мне, не стоит это целого дня программирования и последующего труда в желании сделать сие чудом, постоянных экспериментов и т.д., что неизбежно. С уважением, Дмитрий Титов, Сергиев Посад. Это сообщение отредактировал GroundZero - 16/10/2007, 17:05 |
|
|
|
Мы знаем, как нам обработать тот или иной пакет.
Мы знаем, как сформировать пакет для сервера, чтобы он его корректно обработал. А вот теперь нужно ответы от шахматной программы преобразовать в пакет для гамблера и наоборот. Для этого должна быть разработана и написана уникальная программа по совмещению протоколов. Для реализации этих 3 вещей: Ты понимаешь что для этого надо быть супером экстракласса. Думаю к протоколу обмена так просто не подберёшься, ломать клиент придётся. Поговори с Дядей_Сергеем (я сегодня имел беседу с ним на тему программ в гамблере, имеюю ввиду вшитые проги). Вход в клуб с компа через клиент. Сканирование экрана, обработка картинки, перенос в шахматный движок...далее самостоятельно ручками двигаешь фигурки. Теперь "вшитая" прога: в этом случае если всё делает прога то соответственно клиент полностью под её управлением и Вы не можете ни писать в зал ни общаться если я правильно понимаю. Теперь конкретный вопрос: Кто такой Урфинджюс? Прога (вшитая или не вшитая) или человек? Играет ли он самостоятельно или это адвансед чесс? Почему при уменьшении контроля его результаты катастрофически не падают? Из всех игроков гамблера он имеет наибольший положительный баланс с Крафти из всех остальных: УрфинДжюс 45-10-6. Глаз 38-0-5, Барака 54-7-0, ЛC70 103-8-3, Alanas 47-3-1, magystr 32-6-2!!!, Фьючер 26-1-1. Почему если Урфинджюс прога, то такой перевес в пользу Крафти? То что Джюс умеет играть в шахматы прекрасно говорят его партии с контроем 1 минута. Дебют он может разыграть самостоятельно. Получается тогда он включает прогу по выходу из дебюта, если конечно она есть? Крафти создан на базе средненькой программы (спросите Дядю_Сергея как она называется, не помню сейчас). |
|
» 16/10/2007, 17:07, GroundZero
|
|
Блин, не читал сообщение Пегаса, но оставлю свое, ибо идея создания бота очевидна для любого программиста, даже хорошиста-студента (да и не одна идейка), а для человека кому такие идеи в голову не придут реализовать такой проект нереально :)
|
|
|
|
2 GrouhdZero: успеет Ваш бот сыграть партию за 2 минуты (сделать примерно 60 ходов, а иногда и больше)?
|
|
» 16/10/2007, 17:15, GroundZero
|
|
2Best: Внимательное чтение моей статьи отвергнет все сомнения - сканирование картинки и сравнение 64 пикселов делается МОМЕНТАЛЬНО, никаким супером быть не надо - студент-программер ЛЕГКО реализует такого бота.
Далее: знакомые дебюты даже я могу играть сам, перевес того же Джюса с Крафти именно из-за реализации (Крафти ДядиСергея делает выводы до прорисовки картинки, это быстрее) или из-за хренового движка или связи. Повторюсь - практически ЛЮБОЙ может сделать бота, загадка что их так мало до сих пор - но это, видимо, в некоей закрытости (или притертости, чтоль) общества шахматистов Гамблера. |
|
|
|
Но почему-то пока это сумел сделать только Дядя_Сергей. Остальных останавливает лень или что-то другое. Может просто не так уж это и просто всё-таки?
|
|
|
||
Вперет! Судя по тому, что я прочитал, - нового бота, тем более в течение одного рабочего дня, не появится |
||
|
» 16/10/2007, 17:24, i_play_chess
|
||
назовите вашу цену. |
||
Все темы | | | |
« Предыдущая тема | Перечень тем | »
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
0 Пользователей:
