Я собираюсь писать шахматный сервер и один или несколько клиентов для шахмат, и я хочу описать правила шахмат (например, допустимые ходы на основе состояния игры, правила для того, когда игра завершена) на языке программирования независимо. Это немного сложно, поскольку некоторые из правил шахмат (например, King Castling, en passent, рисуются на основе трех или более повторных ходов) основаны не только на макете платы, но и на истории движений.Рекомендуемый формат данных для описания правил шахмат
Я бы предпочел формат быть:
- текстуального
- люди читаемого
- на основе стандарта (например, YAML, XML)
- легко интерпретируемые в различных языках
Но я готов пожертвовать любым из них подходящим решением.
Мой главный вопрос: как я могу построить алгоритмы такой сложности, которые работают с таким сложным состоянием из формата данных?
Следующий вопрос: можете ли вы привести пример аналогичной проблемы, решаемой аналогичным образом, которая может служить отправной точкой?
Редактировать: В ответ на запрос на ясность - подумайте, что у меня будет сервер, написанный на Python, один клиент, написанный на C#, и другой клиент, написанный на Java. Я хотел бы избежать указания правил (например, для допустимого перемещения деталей, условий проверки и т. Д.) В каждом месте. Я бы предпочла указать эти правила один раз на языке независимо.
ли вы ищете язык/формат, специально предназначенный для этого намерения? Как BoardGaML? (вымышленный) – Oddmund 2008-10-11 17:03:39
Я бы дал сервер знать правила и отклонил недействительный ход, предложенный клиентом. – tzot 2008-10-11 19:27:39