Показать сообщение отдельно
Старый 13.07.2012, 17:27
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 2  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
А в чем именно проблема? Задача реализуется по шагам.
1. Пишется простейший API для игры - получить состояние в каком-то формате, сделать ход.
2. Реализуется API. Подбирается модель, чтобы удобно было проверять связность. Возможно, стоит посмотреть на "системы непересекающихся множеств" (элементы множеств - углы квадратов и проверка множеств двух вершин при добавлении ребра).
Далее возможны две ветки. Обе нужно сделать, но порядок может быть любой:
1. Реализация пользовательского интерфейса, который отображает поле и позволяет сделать ход. Сделать можно кучей способов. Если что-то не получается, пишите конкретные вопросы.
2. Реализация механики игры. Она получает модель (возможно, поддерживает еще альтернативное внутреннее представление, необходимое для работы) и выдает следующий ход. Таких механик может быть много. Начать можно со случайных ходов (которые при этом не нарушают свзяность!). Ну и дальше усложнять алгоритмы и добавлять ваши средства моделирования.

Соответственно, две версии - для прямых линий и для произовльной формы. Интерфейс и модель, вероятно, будут похожи. А вот "решатель" будет уже другой (вероятно, гораздо более сложный).