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

бесплатно 0
4.5 183
Основные идеи объектно-ориентированного подхода, преимущества и недостатки. Выбор языка программирования, проектирование системы классов, их взаимосвязь и формат. Программный код модуля unit1.h, тестирование, листинг. Результаты работы программы.


Аннотация к работе
Объектно-ориентированное проектирование это такой подход, когда программная система представляется как совокупность объектов, каждая из которых принадлежит некоторому классу, а классы представляют иерархическую структуру. Т.к. программная система представляется как совокупность взаимодействующих объектов, то, следовательно, используется не алгоритмическая и объектная декомпозиция программной системы. Объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект. Взаимодействие между объектами осуществляется посылкой специальных сообщений от одного объекта к другому. Сообщение, полученное объектом, может потребовать выполнения определенных действий, например, изменения состояния объекта.В данной курсовой работе была разработана реализация игры, в которой необходимо захватить как можно большее пространство своим цветом. Программа разрабатывалась с использованием объектно-ориентированного подхода, поэтому при ее реализации были использованы классы. class TCELLS - класс "Клетка". Служит базовым классом для класса «Доска».

Введение
Объектно-ориентированное проектирование это такой подход, когда программная система представляется как совокупность объектов, каждая из которых принадлежит некоторому классу, а классы представляют иерархическую структуру. Т.к. программная система представляется как совокупность взаимодействующих объектов, то, следовательно, используется не алгоритмическая и объектная декомпозиция программной системы. Термин объект появился одновременно в нескольких областях связанных с компьютерами. Так были созданы компьютеры с объектно-ориентированной архитектурой, например IBM system или Intel 432. Соответственно были созданы объектно-ориентированные операционные системы, например IMAX STAROS. Термин объект впервые появился в языке Simula67. Далее объектный подход был развит в версиях языка Smalltalk. Затем механизм объектно-ориентированного подхода был введен в традиционные языки высшего уровня.

С ООПA C

Pascal ООПA Object Pascal

Практически все объектно-ориентированные языки программирования являются развивающимися языками, их стандарты регулярно уточняются и расширяются. Следствием этого развития являются неизбежные различия во входных языках компиляторов различных систем программирования. .Наиболее распространенными в настоящее время являются системы программирования Microsoft C , Microsoft Visual C и системы программирования фирмы Borland International. Дальнейший материал в данном пособии излагается применительно к системе программирования Borland C . Это связано прежде всего наличием в этой системе программирования развитой интегрированной среды, объединяющей текстовый редактор, компилятор, редактор связей (компоновщик) и отладочные средства.

Сущность объектно-ориентированного подхода к программированию

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

- Модель реального мира или его части может быть описана как совокупность взаимодействующих между собой объектов.

- Объект описывается набором параметров, значения которых определяют состояние объекта, и набором операций (действий), которые может выполнять объект.

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

- Объекты, описанные одним и тем же набором параметров и способные выполнять один и тот же набор действий представляют собой класс однотипных объектов.

Преимущества и недостатки ООП

Считается, что ООП имеет два главных преимущества. Во-первых, это высокая конкурентоспособность программ, созданных на базе ООП, благодаря сокращенным срокам разработки и гибкостью программного продукта. Во-вторых, отсутствие ограничений по сложности. Можно перечислить и другие преимущества ООП. Это повторное использование программных компонентов, сокращенный срок разработки, использование возможностей объектно-ориентированных языков. Главными недостатками объектно-ориентированного подхода является производительность и начальные затраты.

Основные концепции ООП: Каждый стиль программирования имеет свою концептуальную базу. Для объектно-ориентированного стиля программирования такой базой является объектная модель. Объектная модель имеет четыре главных элемента: 1) абстрагирование

2) инкапсуляция

3) модульность

4) иерархия

Выше было изложено краткое описание об ОО подходе.

Выбор языка программирования

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

Ключевым понятием С является класс. Класс - это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С предоставляет гораздо лучшие, чем в 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();

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

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

Рис.

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

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

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

: : };

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

Класс TCELLS class TCELLS

{ public: int size;

void init(_size){size=_size;}

};

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

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

{…….};

Class BASEN

{…….};

class potomok: base1, BASEN

Класс TDOSKA class TDOSKA:public TCELLS

{ public: TDOSKA();

void draw();

}

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

Класс TFISHKA class TFISHKA

{ public: int mas[10][10];

TCOLOR color[10][10];

int x,y,size;

int count_1,count_2;

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

TFISHKA();

void draw_greed();

void draw();

void init(int _x, int _y, TCOLOR _c, int __gamer);

void Game_over();

};

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

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

Программа разрабатывалась с использованием объектно-ориентированного подхода, поэтому при ее реализации были использованы классы. class TCELLS - класс "Клетка". Служит базовым классом для класса «Доска». class TDOSKA - класс «Доска», потомок класса TCELLS class TFISHKA - класс «Фишка»

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

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

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

Список литературы
1.Конспект лекций по ООП

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

3.Интернет: www.google.com.ru, www.gamedev.ru.
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?