Реализация игры "Жизнь", в которой необходимо захватить как можно большее пространство своим цветом

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

Ключевым понятием С++ является класс. Класс - это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем.

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

Проектирование системы классов

В данной курсовой работе были созданы следующие классы:

class TCells - класс "Клетка". Служит базовым классом для класса Доска.

Методы:

void init(_size); - установка размера клеток

Свойства:

int size; - хранит размер клетки

class TDoska - класс Доска, потомок класса TCells

Методы:

TDoska(); - устанавливает размер клеток

void draw(); - рисует доску.

class TFishka - класс Фишка

Свойства:

int mas[10][10]; - массив для хранения положений фишек

TColor color[10][10]; - массив для хранения цвета фишек на доске

int x,y,size;

int count_1,count_2; - счетчики очков для двух игроков

Методы:

TFishka();draw_greed(); - рисует доску draw(); - рисует фишку в установленных координатах

void init(int _x, int _y, TColor _c, int __gamer); - установка фишек в заданные координаты, производит копирование фишек в соседние клетки.Game_over(); - проверка на окончание игры

Взаимосвязь классов

Рис.

Программирование задачи

В языке С++ формат описания класса выглядит следующим образом:

Class

{

элементы класса

};

объекты класса

Класс TCellsTCells

{:size;init(_size){size=_size;}

};

В данном примере переменная size и функция init() объявлены как public, т.е. как общедоступные.

Синтаксис объявления класса-потомка следующий:

Class base1

{тАжтАж.};

Class baseN

{тАжтАж.};

class potomok: base1, baseN

Класс TDoskaTDoska:public TCells

{:();draw();

}

В данном примере функции TDoska (),draw () объявлены как public, т.е. как общедоступные.

Класс TFishkaTFishka

{:mas[10][10];color[10][10];x,y,size;count_1,count_2;

//-------------();draw_greed();draw();init(int _x, int _y, TColor _c, int __gamer);

void Game_over();

};

В данном примере все функции и переменные объявлены как public, т.е. как общедоступные.

Заключение

В данной курсовой работе была разработана реализация игры, в которой необходимо захватить как можно большее пространство своим цветом. Приложение разрабатывалось в среде CBuilder 5, т.к. этот язык программирования оптимально подходил для реализации требуемой задачи. Язык С++ был выбран неслучайно т.к. объектная модель в нем реализуется на доступном пользователю уровне.

Программа разрабатывалась с использованием объектно-ориентированного подхода, поэтому при ее реализации были использованы классы.

class TCells - класс "Клетка". Служит базовым классом для класса Доска.

class TDoska - класс Доска, потомок класса TCells

class TFishka - класс Фишка

В ходе выполнения программы возникали различные трудности, связанные с выводом графического результата.

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

При выполнении курсового проекты я глубже ознакомился с основами объектно-ориентированного программирования, и получил новые навыки программирования с использованием объектно-ориентированного подхода.

Литература

.Конспект лекций по ООП

.Бьерн Страуструп. Язык программирования С++

.Интернет: www.google.com.ru, www.gamedev.ru.

Приложение

Программный код модуля unit1.h

//---------------------------------------------------------------------------

#ifndef Unit1H

#define Unit1H

//---------------------------------------------------------------------------

#include

#include

#include &