Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

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

Тип: дипломная работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Основные идеи объектно-ориентированного подхода, преимущества и недостатки. Выбор языка программирования, проектирование системы классов, их взаимосвязь и формат. Программный код модуля unit1.h, тестирование, листинг. Результаты работы программы.
Краткое сожержание материала:

Размещено на

Курсовая робота

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

Задание

На игровой доске поле размером 10*10 2-х цветов игроки начинают с противоположных углов имея по 1-й фишке. Фишки могут ходить аналогично ферзю на расстояние не более 2-х клеток. При перемещении на 1-ну клетку происходит копирование, при каждом ходе все соседние фишки становятся такого же цвета что и ходивший. Выигрывает тот игрок, который имеет больше фишек.

Фишки реализуются в объекте, клетки игровой доски тоже реализуются объектом, сама доска является потомком клетки и имеет свойства доски. Операции над фишками (перемещение, копирование, захват) реализовать отдельно от объекта.

объектный ориентированный программирование игра

Аннотация

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

Ключевые слова:

Игры на С++, игра Жизнь, рисование в С++.

Введение

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

С+ООП C++

Pascal+ ООП 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(); - проверка на окончание игры

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

Рис.

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

Другие файлы:

Я учу буквы. Развивающая игра
Игра поможет детям познакомиться с буквами, научиться различать гласные и согласные звуки, развивать фонематический слух и внимание. Игра состоит из 2...

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

Игра и игрушка в сфере повседневной культуры
Как правило, когда решаются вопросы, связанные с игрой как феноменом культурной жизни, будь то научно-теоретический или обыденный контекст, остаётся в...

Игра "Жизнь"
Проектирование игры "Жизнь" и ее реализация в среде разработки Visual Studio 2010, версия .Net Framework 4.0. Особенности языка программирования C#, о...

Кто у нас хороший? Игры с мамой на каждый день
В книге описаны игры, в которые мама может поиграть со своим малышом: игры с магнитами, с крупами, тестом, игры с песком, с водой. Издание содержит по...