Вы находитесь на странице: 1из 17

Размещено на http://www.allbest.

ru/
Министерство образования и науки РФ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ
УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра компьютерных систем
в управлении и проектировании (КСУП)

Игра «Жизнь»
Пояснительная записка к курсовой работе по дисциплине
«Объектно-ориентированное программирование»

Выполнил:
Студент группы 580-1
Цоктоева Г.В.
Руководитель:
Аспирант кафедры КСУП
Калентьев А.А.

2013
Размещено на http://www.allbest.ru/
Реферат

Курсовой проект 19 с., 10 рис., 8 источников.


Игра Жизнь
Цель работы: создание игры Жизнь, включающая в себя следующие
функциональные особенности: меню выбора опций диалогового окна,
графический интерфейс пользователя с ручным и автоматическим
заполнением клеток, возможность сохранить и загрузить данные.
В результате была создана игра «Жизнь», отвечающая поставленным
целям.
Пояснительная записка по курсовой работе была выполнена в
текстовом редакторе Microsoft Office Word 2010 и представлена в печатном
виде.
Размещено на http://www.allbest.ru/
Содержание

1. Введение
2. Постановка и анализ задачи
2.1 Обзор аналогов
2.2 Проектирование пользовательского интерфейса
3. Описание алгоритмов
3.1 Игра
3.2 Справка
3.3 Установка игры на компьютер
4. Описание реализации
5. Описание программы для пользователя
5.1 Общие сведения
5.2 Запуск игры
6. Тестирование программы
Заключение
Список используемых источников
Размещено на http://www.allbest.ru/
1. Введение

В настоящее время различные компьютерные приложения и игры


имеют большой спрос и достаточно популярны, что очень выгодно для их
создание и реализация.
Игру «Жизнь» изобрел математик Джон Хортон Конуэй в 1970 году. Об
увлекательности игры свидетельствуют результаты множества интересных
исследований и многочисленных компьютерных реализаций. При этом она
имеет непосредственное отношение к перспективной в настоящее время
области математики – теории клеточных автоматов.
С появлением объектно-ориентированного программирования (ООП),
открылась возможность работы с программами большего объема, что очень
удобно для промышленного программирования и создания различных
приложений.
Данный документ описывает этапы проектирования и реализации
курсового проекта. А, как известно, для создания игры потребуется
программа большего объема, то отсюда вытекает актуальность применения
ООП.
Размещено на http://www.allbest.ru/
2. Постановка и анализ задачи

Так как программа курсового проекта должна быть реализована на


языке программирования C#, то было принято решение использовать
интегрированную среду разработки Microsoft Visual Studio 2010 с
использованием .Net Framework 4.0. Данная среда является мощным и
удобным инструментов в разработке программ на языках программирования
C#, C++, C, VB. [5].
Для реализации нашего проекта нам потребовалось: окно,
выполняющее функцию выбора размеров игрового поля и клетки (ширина,
высота), форма самой клетки (квадрат, треугольник), файл (новая игра,
сохранить, загрузить, выход), окно в котором осуществляется реализация
игры содержит кнопки (заполнить автоматически поле, старт игры, очистить),
также можно заполнить поле вручную, необходимо воспользоваться
кнопками мыши. Левая кнопка создает новую клетку, правая удаляет клетку.
Можно загружать и сохранять данные игры. Данные будут храниться в
виде xml файла. Так как xml является текстовым форматом, предназначенным
для хранения структурированных данных.
При сохранении данных создается xml файл, в котором содержится
состояние всех клеток на поле. При загрузке данных из файла считываются
все состояния клеток, и заполняется игровое поле.
<Property>
<CellState> Состояние клетки </ CellState >
<X> X – позиция клетки </ X >
<Y> Y – позиция клетки </ Y >
<CellSize> Размер клеток </ CellSize>
<CellShape> Форма клеток </ CellShape >
<Width> Ширина игрового поля </ Width>
<Height> Высота игрового поля </ Height>
</Property>
Размещено на http://www.allbest.ru/

2.1 Обзор аналогов


программирование интерфейс алгоритм язык
Данная игра имеет много аналогов, ниже представлены некоторые из
них: Рисунок 2.1.1, Рисунок 2.1.2 и Рисунок 2.1.3

Рисунок 2.1.1 ¾ The Game of Life

Рисунок 2.1.2 ¾ Mirek’s Cellebration


Размещено на http://www.allbest.ru/

Рисунок 2.1.3 ¾ Life32

Проанализировав рассматриваемые аналоги, мы создаем практически


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

2.2 Проектирование пользовательского интерфейса

При проектировании интерфейса пользователя был выбран вариант,


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

Рисунок 2.2.1 ¾ Главное окно программы


Размещено на http://www.allbest.ru/
Затем можно заполнить поле клетками как вручную, так и
автоматически. Для заполнения поля автоматически, пользователь должен
нажать кнопку «Заполнить автоматически». Для заполнения поля вручную,
необходимо воспользоваться кнопками мыши. Левая кнопка создает новую
клетку, правая удаляет клетку. После того как поле будет заполнено клетками
необходимо нажать кнопку «Старт» (см. Рисунок 2.2.2).

Рисунок 2.2.2 ¾ Процесс игры

Так же во время игры можно будет создать и удалить клетки. Для


сохранения или загрузки состояния клеток из файла, пользователь должен
будет выбрать пункты «Сохранить» или «Загрузить» из меню «Файл»,
соответственно (см. Рисунок 2.2.3).
Размещено на http://www.allbest.ru/

Рисунок 2.2.3 ¾ Меню файл

Меню «О программе» будет запускать форму содержащую


информацию об авторе (см. Рисунок 2.2.4).

Рисунок 2.2.4 ¾ Меню о программе


Размещено на http://www.allbest.ru/
3. Описание алгоритмов

3.1 Игра

Для начала игры «Жизнь» пользователь должен:


1 В папке LifeGame запустить файл LifeGame.exe
2 В открывшемся окне, установить размер поля и клетки, выбрать
форму клетки
3 Нажать кнопку «Создать»
4 Заполнить поля клетки автоматически или вручную
5 Нажать кнопку «Старт игры»
6 При завершении игры можно сохранить данные
7 Для выхода зайти в «Файл» и выбрать «Выход»

3.2 Справка

Для получения информации о программе «Жизнь» пользователь


должен:
1 Выбрать пункт «О программе» в главном меню игры.
2 Откроется новое окно со справкой.
3 Закрыть окно со справкой.
3.3 Установка игры на компьютер
Для установки игры «Жизнь» пользователь должен:
Запустить LifeGame.exe.
Размещено на http://www.allbest.ru/
4. Описание реализации

MainForm – основной класс программы:


1. NewGame() - начинает новую игру;
2. CreatField() - создает поле для рисования;
DrawArea - пользовательский элемент управления на котором
выводится вся графика:
1. InitializeVariables() - инициализация переменных;
2. DrawGridLine() - рисует линии сетки;
3. DrawLifeCells() - рисует живые клетки;
4. IsOutside() - проверяет находиться ли точка с координатами x, y в
пределах игрового поля;
5. GenerateRandomCells() - генерирует случайное количество клеток;
6. StartStopGame() - Старт/Стоп игры;
7. ClearField() - очищает игровое поле.
GameLogic – основная логика игры, реализует интерфейс INextStep:
1. NextStep() - возвращает состояние клеток на следующем шаге;
2. NeighboursCount() - возвращает количество соседей.
Для отображения схемы взаимодействия функциональных блоков
программы составлена диаграмма вариантов использования (Use
Cases).Варианты использования (Use cases) – способ отображения
функциональности и требований к системе. Диаграммы вариантов
использования состоят из именованных блоков функциональности (варианты
использования), лиц или предметов, активизирующих функциональность
(актеры) [7]. Use Cases диаграмма игры представлена на рисунке 4.1[4]
Диаграммы вариантов использования взаимодействия пользователя с
программой представлены на рисунке 4.1.
Размещено на http://www.allbest.ru/
uc Use Case Mo...

Загрузить данные из
Начать новую игру Очистить поле
файла «extend»

Ввести размер
«extend» «include» игрового поля

«include»
Запустить
Создать поле
программу

Пользователь
«include»
Заполнить
«extend» «include» «include» автоматически

Выйти из Ввести размер


Начать играть
программмы клетки

Рисунок 4.1 — Диаграммы вариантов использования взаимодействия


пользователя с программой

Диаграммы взаимодействия классов представлены на рисунке 4.2.

class Class Mo...

UserControl
Draw Area

- _brush: SolidBrush
- _cellsArray: bool ([,])
- _cellSize: int
- _draw: bool
Form - _field: Bitmap
GameLogic
MainForm - _fieldHeight: int
- _fieldWidth: int - _fieldHeight: int {readOnly}
- _drawArea: DrawArea - _gameLogic: GameLogic - _fieldWidth: int {readOnly}
- _graphics: Graphics
- CreatField(int, int, int) : void - _pen: Pen + GameLogic(int, int)
+ MainForm() - NeighboursCount(bool[,], int, int) : int
- NewGame() : void + ClearField() : void + NextStep(bool[,]) : bool[]
+ DrawArea(int, int, int)
- DrawGridLine(Graphics) : void
- DrawLifeCells(Graphics) : void
+ GenerateRandomCells() : void
- InitializeVariables(int, int, int) : void
- IsOutside(int, int) : bool
+ StartStopGame() : void

Рисунок 4.2 — Диаграммы взаимодействия классов


Размещено на http://www.allbest.ru/
5. Описание программы для пользователя

5.1 Общие сведения

Игра «Жизнь» - одна из самых популярных математических игр


столетия. Эта игра, представленная широкой общественности ведущим
рубрику математических игр и развлечений в журнале Scientific American
М.Гарднером, стала пользоваться большой известностью во всем мире. Игра
«Жизнь», изобретенная Джоном Хортоном Конуэй, описывает популяцию
стилизованных организмов, развивающуюся во времени под действием
противоборствующих тенденций размножения и вымирания.
Действие игры происходит на некой плоскости, разделенной на клетки.
Каждая клетка окружена 8 такими же клетками. Каждая клетка может
находиться в двух состояниях - живом или мертвом, т. е. пустом. На
состояние любой клетки оказывают влияние состояние соседних клеток. Во
времени эти состояния дискретно в соответствии с некоторыми правилами
или генетическим законам Конуэя, состоящими из 3 пунктов:
если рядом с пустой клеткой ровно три живых, то в пустой клетке
рождается жизнь
если рядом с живой клеткой меньше двух живых клеток, то она умирает
от одиночества
если рядом с живой клеткой больше трех живых клеток, то она умирает
от тесноты.
Гибель и рождение всех организмов происходит одновременно.
Возникающие в игре ситуации очень похожи на реальные процессы,
происходящие при зарождении, развитии и гибели живых организмов
Игра «Жизнь» относится к категории так называемых моделирующих
игр - игр, которые в той или иной степени имитируют процессы,
происходящие в реальной жизни.
Размещено на http://www.allbest.ru/
5.2 Запуск игры

Запустите приложение запускающее игру или кликните на файл


LifeGame.exe перед вами появится окно, в котором нужно указать размеры
поля и клетки, а также форму самой клетки и нажать кнопку «Создать».
После создания нужно заполнить поле автоматически (Заполнить
автоматически) или вручную (кнопками мыши). Для запуска игры следует
нажать кнопку «Старт игры» Для выхода из игры нажмите «Выход» в
главном меню.
Размещено на http://www.allbest.ru/
6. Тестирование программы

Программа была протестирована на основные исключительные


ситуации, которые могут возникнуть в ходе работы приложения. Чем больше
размеры поля, тем медленнее работает программа. Также желательно, чтобы
размеры поля не превышали размера экрана, так как это неблагоприятно
сказывается на правильной работе программы.

Рисунок 6.1 — Тестирование программы


Размещено на http://www.allbest.ru/
Заключение

В процессе проделанной работы была спроектирована и реализована


игра «Жизнь». Для реализации была выбрана среда разработки Visual Studio
2010, версия .Net Framework 4.0. Был изучен язык программирования C#,
освоены основные принципы ООП на языке C#.
.
Размещено на http://www.allbest.ru/
Список используемых источников

1 Чернышев А.А., Кирпиченко Л.И. «Общие требования и правила


оформления. Работы студенческие учебные и выпускные
квалификационные» 2003 г. – 40 стр.
2 Песков М.А. Учебно-методическое пособие «Объектно-
ориентированное программирование. Методические указания к выполнению
курсовых работ» 2007 г. – 40с.
3 Троелсен Э. «Язык программирования C# 2010 и платформа .NET 4».
Издательство: Вильямс; Москва.: И.Д, Вильямс, 2011. – 1392с.
4 Пайтон Д., Питмен Н. «UML 2 для программистов». Издательство:
Питер; СПб.:, 2012. – 240 с.
5 Microsoft Visual Studio 2010 – Википедия. [Электронный ресурс]. URL:
http://ru.wikipedia.org/wiki/Visual_Studio (дата обращения 20.10.2012)
6 Use Cases – Варианты использования (Use Cases). [Электронный
ресурс]. URL: http://www.caseclub.ru/articles/use_case.html (дата обращения
16.11.2012)
Размещено на Allbest.ru

Вам также может понравиться