Помогите создать шахматный движок.
Помогите создать шахматный движок.
Помогите создать шахматный движок, речь не идет об ИИ, нужны ходы и запись партий, больше ничего.
Я не прошу готовый код, просто подкиньте пару идей, как можно реализовать это, если не сложно
Заранее спасибо.
Я не прошу готовый код, просто подкиньте пару идей, как можно реализовать это, если не сложно
Заранее спасибо.
Re: Помогите создать шахматный движок.
Ходы, к примеру, можно записывать в виде массива (время в секундах):
Массив преобразовать в JSON и сохранять в базе данных.
Код: Выделить всё
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} );
Re: Помогите создать шахматный движок.
С записью особых проблем не должно возникнуть.
А идеи по поводу правильности хода? как сами ходы сделать?
А идеи по поводу правильности хода? как сами ходы сделать?
Re: Помогите создать шахматный движок.
У меня один вопрос, зачем тебе это? Что слишком мало таких игр? У меня был заказ на такую игру, да и норм бы заплатили, но не особо интересно, отказался.
Re: Помогите создать шахматный движок.
Да-да, 90% участников это форума приходят сюда с огромным опытом и десятками проектов за плечами. Им уже мало что интересно.
На самом деле написать свой алгоритм такого движка "с нуля" для начинающего программиста не только интересно, но и является бесценным опытом.
На самом деле написать свой алгоритм такого движка "с нуля" для начинающего программиста не только интересно, но и является бесценным опытом.
Re: Помогите создать шахматный движок.
Ну мне так показалось, что ничего сложного в этом нет. Объемно - да, но не сложно.Foxmen писал(а):С записью особых проблем не должно возникнуть.
А идеи по поводу правильности хода? как сами ходы сделать?
Во-первых, проверять правильность хода с точки зрения фигуры (к примеру пешка ходит на 1 клетку вперед, но если с 2 или 7 - то может на 2, вроде простая проверка. Аналогично офицер - ход может быть только по диагонали, т.е. количество клеток по горизонтали и вертикали должно совпадать (я имею в виду, что C - A = 5 - 3, это и будет ход по диагонали)).
Во-вторых, проверять конечную клетку - если там "вражеская" фигура, за исключением короля, убить.
Ну и в-третьих, если фигура не конь - то проверять свободность клеток на пути (зная конечную точку и начальную путь составить не должно быть проблем. Я бы с этой целью использовал бы двумерный массив way[][], и использовал бы не буквы/цифры, а и там и там цифры. Т.е. A - 1, B - 2 и т.д., тогда путь можно легко строить. Главное не путать, на каком месте буквы, а на каком цифры).
Лично для меня только 2 момента не до конца понятны. Первый - реализация, как именно игрок тащит фигуру с клетки на клетку (но я с флешем никогда не имел дела, по-этому и не знаю. В html при помощи яваскрипта думаю это не такая уж и проблема). Второй - проверка на шах/мат. Вот тут уже интересная ситуация (ведь проверить надо не только возможности отхода короля, но и возможности "блокирования" пути другой фигурой).
Re: Помогите создать шахматный движок.
Вот это точно интересно. Нужно проверить возможность взятия шахующей фигуры (если это не двойной шах), возможность установки своей фигуры между королем и шахующей фигурой (если это не двойной шах, если шахует не конь и если между шахующей фигурой и королем есть "пространство") и возможность ухода короля на соседнее поле (если на этом поле не стоит своя фигура, если на этом поле не стоит вражеская защищенная фигура и если это поле не заблокировано вражеской фигурой).Serge писал(а):проверить надо не только возможности отхода короля, но и возможности "блокирования" пути другой фигурой
Re: Помогите создать шахматный движок.
В общем,дело оканчательно встало,я попробовал-у меня не получилось.
Решил найти фрилансера на odesk.com.
Как вы считаете,сколько нужно заплатить за такую работу?
Решил найти фрилансера на odesk.com.
Как вы считаете,сколько нужно заплатить за такую работу?
Re: Помогите создать шахматный движок.
что-то мне подсказывает что одеск это автоматически в полтора раза дороже, а может и больше
помню пару лет назад делал там халтурки по 12уе/час которым на все про все красная цена 100 рублей)
помню пару лет назад делал там халтурки по 12уе/час которым на все про все красная цена 100 рублей)
Re: Помогите создать шахматный движок.
Ну почему дороже.. Людей больше,следовательно и шансов что-то подешевле найти больше:)
Но надо определиться с ценой,с какой начать? Движок очень нужен.
Но надо определиться с ценой,с какой начать? Движок очень нужен.