Skip to content

ddolgushin/game-of-life

Repository files navigation

game-of-life

Репозиторий содержит заготовку игры "Жизнь" Джона Конвея, выполненную на языке C#.

Запуск игры

Для запуска игры необходимо:

  1. Скачать инструментарий разработчика .NET.
  2. Клонировать репозиторий с помощью любого клиента Git, или скачать исходный код архивом.
  3. Перейти в директорию с исходным кодом игры и скомпилировать проект, выполнив команду: dotnet build.
  4. Запустить игру командой dotnet run.

Инструкция

Текущая реализация поддерживает два варианта заполнения начальной конфигурации игрового поля, для этого при запуске нужно нажать:

С помощью пробела (Space) можно приостановить ход игры, а клавишей Отмена (Escape) игра завершается.

Задание

Игру необходимо доработать так, чтобы границы поля перестали быть пределами для развития текущей конфигурации. Иными словами, нужно сделать так, чтобы при движении глайдера он не "разбивался" о границу поля (точнее, не превращался в неподвижный блок), а продолжал движение с противоположной стороны поля (как, например, показано здесь).

Игра реализована с помощью объектно-ориентированного подхода, при котором код и данные объединяются в модулях (классах) согласно своему назначению. Так, здесь можно встретить:

  • Класс Ui, отвечающий за работу с пользователем и отображение игрового поля на экране консоли.
  • Класс BoardConfigurator, заполняющий игровое поле согласно указанному способу.
  • Класс Life, содержащий данные, описывающие поле, и подпрограммы (методы) для работы с ним.

Логика вычисления количества соседей и обновления поля расположена в классе Life, в методах CountNeighbours и Iterate, соответственно. Именно в них необходимо внести изменения, чтобы сделать поле "неограниченным".

Инструменты

Для работы с кодом можно использовать среду разработки Visual Studio Community или редактор кода Visual Studio Code.

Ссылки

  1. Игра "Жизнь" на "Википедии".
  2. Martin Gardner. The fantastic combinations of John Conway's new solitaire game "life".
  3. Браузерная версия игры.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages