Недавно добавленные исходники

•  3D Designer  433

•  Sik Screen Capture  309

•  Patch Maker  269

•  Айболит (remote control)  341

•  ListBox Drag & Drop  247

•  Доска для игры Реверси  4 724

•  Графические эффекты  297

•  Рисование по маске  229

•  Перетаскивание изображений  249

•  Canvas Drawing  265

•  Рисование Луны  252

•  Поворот изображения  145

•  Рисование стержней  144

•  Paint on Shape  109

•  Генератор кроссвордов  148

•  Головоломка Paletto  142

•  Теорема Монжа об окружностях  175

•  Пазл Numbrix  102

•  Заборы и коммивояжеры  183

•  Игра HIP  123

 

 

Архив исходников

   
  Базы данных
  Графика & Мультимедиа
  Сети & Интернет
  Система
  Разное
   

Ссылки и Баннеры ...

 

Delphi Sources

Delphi Sources

 




 

ИСХОДНИК ПРОГРАММЫ

 

. : Игра Go (Го) : .

 

Delphi - Реализация древней китайской игры Го (в Китае она называется Wei-chi)

Исходник программы, показывающей пример реализации древней китайской игры Го (в Китае она называется Wei-chi).

Го - одна из простых, но в тоже время и сложных настольных игр. Два противника по очереди кладут черные и белые камни на квадратную доску. Если вы окружите группу камней противника своим цветом, камни удаляются, и вам засчитывается очко за каждый захваченный камень.

Фанаты описывают ее как «величайшую настольную игру всех времен» и «более трудную для освоения, чем шахматы». Если вы не знакомы с игрой, просто поищите в Интернете «Правила игры в Го» или «Учебник по игре в Го».

Доступны три размера доски: 9x9, 13x13 и официальный 19x19.

Реализован режим отладки, который имеет функции, полезные для отработки навыков:

  • Несколько камней определенного цвета могут быть помещены за один «ход».
  • Каждый камень отображает группу или блок, к которому он принадлежит (блоки представляют собой связанные группы камней одного цвета).
  • Уже размещенные камни можно удалить, щелкнув правой кнопкой мыши.

Для оценки я просто засчитываю берущему захваченные камни. Насколько я понимаю, один игрок может заполнить мертвые зоны, но для другого это будет самоубийственно (а значит, запрещено). Я думаю, что «мертвые» места засчитываются для игрока, который мог бы там играть, но я не уверен в этом, и стоит ли их классифицировать.

Заметки по исходнику

Идентифицировать группы камней и определить, когда группа окружена камнями противоположного цвета, было сложнее закодировать, чем ожидалось. Игра заключается в размещении камней на пересечении линий сетки. Группа - это набор из одного или нескольких камней одного цвета, соединенных горизонтальными и вертикальными линиями сетки. Группу захватывают, окружая ее камнями противоположного цвета. «Окружение» означает, что каждая горизонтальная и вертикальная линия сетки, идущая от краев группы, заполнена камнем противоположного цвета.

После нескольких неудачных запусков моим решением было реализовать процедуры, которые очищают все блоки и идентифицируют их с нуля после установки каждого камня. Findblocks инициирует процесс, а функция FindBlocksFrom рекурсивно завершает поиск каждого блока. Функция BlockCount вызывается для подсчета блоков в каждой группе, а также возвращает количество открытых ребер. Все можно было бы сделать более эффективно, но всего несколько сотен камней и всего несколько сотен ходов, поэтому время для начала с нуля для каждого сыгранного камня не имеет значения.

В программе реализованы тесты, чтобы предотвратить некоторые запрещенные размещения камней, например, «самоубийственные» ходы, которые завершают окружение группы цвета игрока.

Просмотры: 87
Дата: 12.07.2021, Автор: Gary Darby
Написать сообщение:
 

 

Скачать (8 Кб)   ↓ 3   Регистрация >>


 

Похожие исходники


Игра в Шашки

Игра Paazu

Игра Pente (крестики-нолики)

Игра в точки

 

Игра Quod

Игра Dodge

Mine Clone (игра Сапер)

Snake (игра Змейка)

 

Игра Червы

 

© 2004-2021 "DS"

Соглашение пользователя / Реклама / Карта сайта             Created by BrokenByte Software