Страница 1 из 2

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

Добавлено: 29 авг 2012, 20:10
Foxmen
Помогите создать шахматный движок, речь не идет об ИИ, нужны ходы и запись партий, больше ничего.
Я не прошу готовый код, просто подкиньте пару идей, как можно реализовать это, если не сложно
Заранее спасибо.

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

Добавлено: 29 авг 2012, 23:45
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 и сохранять в базе данных.

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

Добавлено: 11 сен 2012, 21:51
Foxmen
С записью особых проблем не должно возникнуть.
А идеи по поводу правильности хода? как сами ходы сделать?

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

Добавлено: 11 сен 2012, 22:43
Emeltil
У меня один вопрос, зачем тебе это? Что слишком мало таких игр? У меня был заказ на такую игру, да и норм бы заплатили, но не особо интересно, отказался.

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

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

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

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

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

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

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

Добавлено: 12 сен 2012, 09:47
gpv123
Serge писал(а):проверить надо не только возможности отхода короля, но и возможности "блокирования" пути другой фигурой
Вот это точно интересно. Нужно проверить возможность взятия шахующей фигуры (если это не двойной шах), возможность установки своей фигуры между королем и шахующей фигурой (если это не двойной шах, если шахует не конь и если между шахующей фигурой и королем есть "пространство") и возможность ухода короля на соседнее поле (если на этом поле не стоит своя фигура, если на этом поле не стоит вражеская защищенная фигура и если это поле не заблокировано вражеской фигурой).

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

Добавлено: 15 окт 2012, 17:37
Foxmen
В общем,дело оканчательно встало,я попробовал-у меня не получилось.
Решил найти фрилансера на odesk.com.
Как вы считаете,сколько нужно заплатить за такую работу?

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

Добавлено: 15 окт 2012, 17:45
bodnar
что-то мне подсказывает что одеск это автоматически в полтора раза дороже, а может и больше

помню пару лет назад делал там халтурки по 12уе/час которым на все про все красная цена 100 рублей)

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

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