На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Игра жизнь на C++

Что это такое?

Игра «Жизнь» (англ. Conway's Game of Life) — клеточный автомат, придуманный английским математиком Джоном Конвеем в 1970 году.

Правила

Место действия этой игры — «вселенная» — это размеченная на клетки поверхность или плоскость — безграничная, ограниченная, или замкнутая (в пределе — бесконечная плоскость).

Каждая клетка на этой поверхности может находиться в двух состояниях: быть «живой» (заполненной) или быть «мёртвой» (пустой). Клетка имеет восемь соседей, окружающих её.

Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам:

  • в пустой (мёртвой) клетке, рядом с которой ровно три живые клетки, зарождается жизнь;
  • если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае, если соседей меньше двух или больше трёх, клетка умирает («от одиночества» или «от перенаселённости»)

Игра прекращается, если

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

Эти простые правила приводят к огромному разнообразию форм, которые могут возникнуть в игре.

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

Компьютерная реализация

В компьютерных реализациях игры поле ограничено и (как правило) верхняя граница поля «соединена» с нижней, а левая граница — с правой, что представляет собой эмуляцию поверхности тора, но на экране поле всегда отображается в виде равномерной сетки. Простейший алгоритм «смены поколения» последовательно просматривает все ячейки решётки и для каждой ячейки подсчитывает соседей, определяя судьбу каждой клетки (не изменится, умрёт, родится). Такой простейший алгоритм использует два двумерных массива — один для текущего поколения, второй — для следующего. Более сложный, но и более быстрый алгоритм составляет списки клеток для просмотра в последующем поколении; клетки, которые не могут измениться, в списки не вносятся. Например, если какая-либо клетка и ни одна из её соседей не поменялись на предыдущем ходу, то эта клетка не поменяется и на текущем ходу.

Содержание архива

  • Файл GameLife.cpp с кодом игры
  • ReadMe.txt с информацией о языке  и поддерживаемых платформах
  • ResultVideo.mp4 видео с отладкой программы

Фрагмент кода

setlocale(LC_ALL, "Russian");
	cout << "Игра жизнь.\n";

	bool isGame = true;				//идет ли игры
	bool mode = modeClear();		//режим очистки экрана
	bool InfGame = modeGame();		//режим игры
	bool CellsMoreThanOne = SetCountCellsInGrid();
	
	int steps = -1;
	if (!InfGame)
	{
		cout << "Введите количество поколений: ";
		cin >> steps;
	}

	int speedTime = SetSpeedTime(); //Скорость игры
	ClearGrid();					//Очистить поле
	SetStartCells();				//Установить начальную фигуру
	PrintGrid(mode);				//Нарисовать начальную фигуру
	SetPrevGeneration();			        //Запомнить прошлое поколение

Скриншот архива с проектом - последняя фотография над описанием

Купить 2000,00 
Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

Mihail

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Похожие работы
Тип Название Рейтинг Категория Стоимость
Курсовая Моделирование жизни в муравейнике C# 19 .NET (C#) 3 500,00
Исходник Игра "21" (очко) C# 3 .NET (C#) 2 000,00
Исходник Игра Шарики C# 15 .NET (C#) 2 500,00
Исходник Игра шашки на языке C# 1 .NET (C#) 2 000,00
Исходник Игра PacMan C# 25 .NET (C#) 2 000,00
Другие работы автора
Тип Название Рейтинг Категория Стоимость
Исходник Голосовое управление/ Голосовой ввод данных C# -1 .NET (C#) 2 000,00
Исходник Гороскоп, реализованный при помощи парсинга различных сайтов C# 0 .NET (C#) 1 500,00
Исходник Дискретная математика. Операции над множествами C# 0 .NET (C#) 1 500,00
Исходник Игра "21" (очко) C# 3 .NET (C#) 2 000,00
Исходник Игра "Виселица" C# 0 .NET (C#) 2 000,00
Новые работы
Тип Название Рейтинг Категория Стоимость
Контрольная Театр (C#, WinForms, Access) new 0 .NET (C#) 1 500,00
Исходник Автошкола (C#, WPF, SQL Server, SQLite) new 0 .NET (C#) 2 500,00
Исходник Программа Парадокс дней рождения Python new 0 Python 700,00
Исходник ИС Налогоплательщики С# + SQL Server new 0 .NET (C#) 2 500,00
Исходник Логическая игра "Бейглз" Python new 0 Python 700,00
Купить

2000,00 

Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

GameLife.zip
429269
Оцени работу

рейтинг

Категории
Игра жизнь на C++
Реализация игры жизнь на языке программирования C++
Категория: Образование
Стоимость: 2000,00