Помогите создать шахматный движок.

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
Foxmen
Сообщения: 80
Зарегистрирован: 03 сен 2010, 19:58

Помогите создать шахматный движок.

Сообщение Foxmen »

Помогите создать шахматный движок, речь не идет об ИИ, нужны ходы и запись партий, больше ничего.
Я не прошу готовый код, просто подкиньте пару идей, как можно реализовать это, если не сложно
Заранее спасибо.
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: Помогите создать шахматный движок.

Сообщение sanych_dv »

Ходы, к примеру, можно записывать в виде массива (время в секундах):

Код: Выделить всё

 var chessGame:Array = [ { player:"W", move:"e2-e4", time:0 }, { player:"B", move:"e7-e5", time:90 }, { player:"W", move:"Kg1-f3", time:325 },... ]; // ход chessGame.push( {player:currentPlayer, move:currentMove, time:currentTime} ); 
Массив преобразовать в JSON и сохранять в базе данных.
Foxmen
Сообщения: 80
Зарегистрирован: 03 сен 2010, 19:58

Re: Помогите создать шахматный движок.

Сообщение Foxmen »

С записью особых проблем не должно возникнуть.
А идеи по поводу правильности хода? как сами ходы сделать?
Emeltil
Сообщения: 298
Зарегистрирован: 26 мар 2011, 15:29

Re: Помогите создать шахматный движок.

Сообщение Emeltil »

У меня один вопрос, зачем тебе это? Что слишком мало таких игр? У меня был заказ на такую игру, да и норм бы заплатили, но не особо интересно, отказался.
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: Помогите создать шахматный движок.

Сообщение sanych_dv »

Да-да, 90% участников это форума приходят сюда с огромным опытом и десятками проектов за плечами. Им уже мало что интересно.

На самом деле написать свой алгоритм такого движка "с нуля" для начинающего программиста не только интересно, но и является бесценным опытом.
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: Помогите создать шахматный движок.

Сообщение Serge »

Foxmen писал(а):С записью особых проблем не должно возникнуть.
А идеи по поводу правильности хода? как сами ходы сделать?
Ну мне так показалось, что ничего сложного в этом нет. Объемно - да, но не сложно.
Во-первых, проверять правильность хода с точки зрения фигуры (к примеру пешка ходит на 1 клетку вперед, но если с 2 или 7 - то может на 2, вроде простая проверка. Аналогично офицер - ход может быть только по диагонали, т.е. количество клеток по горизонтали и вертикали должно совпадать (я имею в виду, что C - A = 5 - 3, это и будет ход по диагонали)).
Во-вторых, проверять конечную клетку - если там "вражеская" фигура, за исключением короля, убить.
Ну и в-третьих, если фигура не конь - то проверять свободность клеток на пути (зная конечную точку и начальную путь составить не должно быть проблем. Я бы с этой целью использовал бы двумерный массив way[][], и использовал бы не буквы/цифры, а и там и там цифры. Т.е. A - 1, B - 2 и т.д., тогда путь можно легко строить. Главное не путать, на каком месте буквы, а на каком цифры).

Лично для меня только 2 момента не до конца понятны. Первый - реализация, как именно игрок тащит фигуру с клетки на клетку (но я с флешем никогда не имел дела, по-этому и не знаю. В html при помощи яваскрипта думаю это не такая уж и проблема). Второй - проверка на шах/мат. Вот тут уже интересная ситуация (ведь проверить надо не только возможности отхода короля, но и возможности "блокирования" пути другой фигурой).
gpv123
Сообщения: 346
Зарегистрирован: 29 янв 2012, 20:57

Re: Помогите создать шахматный движок.

Сообщение gpv123 »

Serge писал(а):проверить надо не только возможности отхода короля, но и возможности "блокирования" пути другой фигурой
Вот это точно интересно. Нужно проверить возможность взятия шахующей фигуры (если это не двойной шах), возможность установки своей фигуры между королем и шахующей фигурой (если это не двойной шах, если шахует не конь и если между шахующей фигурой и королем есть "пространство") и возможность ухода короля на соседнее поле (если на этом поле не стоит своя фигура, если на этом поле не стоит вражеская защищенная фигура и если это поле не заблокировано вражеской фигурой).
Foxmen
Сообщения: 80
Зарегистрирован: 03 сен 2010, 19:58

Re: Помогите создать шахматный движок.

Сообщение Foxmen »

В общем,дело оканчательно встало,я попробовал-у меня не получилось.
Решил найти фрилансера на odesk.com.
Как вы считаете,сколько нужно заплатить за такую работу?
Аватара пользователя
bodnar
Модератор
Модератор
Сообщения: 1399
Зарегистрирован: 03 апр 2010, 06:41

Re: Помогите создать шахматный движок.

Сообщение bodnar »

что-то мне подсказывает что одеск это автоматически в полтора раза дороже, а может и больше

помню пару лет назад делал там халтурки по 12уе/час которым на все про все красная цена 100 рублей)
Foxmen
Сообщения: 80
Зарегистрирован: 03 сен 2010, 19:58

Re: Помогите создать шахматный движок.

Сообщение Foxmen »

Ну почему дороже.. Людей больше,следовательно и шансов что-то подешевле найти больше:)
Но надо определиться с ценой,с какой начать? Движок очень нужен.
Ответить