
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФГБОУ ВПО
«ДАГЕСТАНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра ПОВТиАС
Пояснительная записка
к курсовой работе
по дисциплине:
«Объектно-ориентированное программирование»
на тему:
«Разработка программы реализующей игру “Тетрис”»
Выполнил:
студент 4 курса
группы У-125
Багомедов А.Б.
Приняла:
Шишова И. В.
Махачкала 2014 г.
Аннотация
Пояснительная записка содержит описание программы, которая реализует игру Тетрис. Задачей игрока является как можно дольше времени игровая область не была заполнена фигурами. В данной работе программа реализуется с помощью объектно-ориентированного подхода . На основании выбранного подхода разрабатываются объектные типы данных. В качестве языка программирования используется C++.
В данной работе содержатся:
33 страниц
6 рисунков
Ключевые слова: класс, объект, метод, графика, фигура.
Задание
В игровое поле размером 8х20 падают фигуры сверху пяти типов.
Каждая фигура может поворачиваться на 90 градусов против и по часовой стрелке. Предусмотреть возможность задания уровня сложности и сохранения таблицы лидеров. Очки должны добавляться по количеству сокращенных строк * 100.создать объект клетка , от него создать потомка - объект фигура, от которого создать 5 потомков. Для каждой фигуры задать свой цвет.
Содержание
Введение ………………………………………………………………………....5
1.Анализ задания ……………………………………………………………..…7
2.Конструирование классов…………………………………………………….9
3.Описание программы………………………………………………………....12
4.Тестирование………………………………………………………………..…16
Заключение ………………………………………………………………………20
Список литературы………………………………………………………………21
Приложение………………………………………………………………………22
Введение
Объектно-ориентированное программирование - это подход к разработке программного обеспечения, основанный на объектах, а не на процедурах. Этот подход позволяет максимизировать принципы модульности и "сокрытия информации". Объектно-ориентированное программирование базируется на связывании или инкапсуляции структур данных и процедуры, которая работает с данными в структуре, с модулем.
Класс является одним из ключевых понятий в ООП. Классы образуют иерархию, построенную на принципах наследования. Класс схож с общей моделью, на основе которой создаются объекты. Например, класс auto может обладать характеристиками, присущими общему представлению об автомобиле. Создание класса – это создание нового типа данных. В процессе создания класса мы «рассказываем» компьютеру о роде и объеме данных, которые может хранить новый тип, а также какие действия могут выполняться для нового типа. Затем можно использовать новый класс для создания переменных нового типа – объектов данного класса. Все поля данных и методы объявляются внутри класса. Объект является конкретным экземпляром класса.
Методы – это функции, которые принадлежат классу и определяют действия, которые можно выполнять для объекта класса. Методы есть обыкновенные функции, являющиеся частью объекта. Они позволяют определить возможности объекта, а их основное назначение — работа с полями класса. Поля или члены-данные класса – это переменные, которые определяют, какого рода данные может хранить объект класса. Компонентами класса являются все методы и поля данных, принадлежащие этому классу.
На практике объектно-ориентированное программирование делится на две части. Одна часть включает стратегии и приемы для разработки программ (или объектно-ориентированного дизайна). Вторая часть ООП — это собственно структуры программирования, доступные в данном языке программирования для создания программы с использованием объектно-ориентированного подхода.
Ключевые черты ооп:
Инкапсуляция — это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список декларируемых свойств и методов класса) и не вникать в его внутреннюю реализацию. Поэтому данные принято инкапсулировать в классе таким образом, чтобы доступ к ним по чтению или записи осуществлялся не напрямую, а с помощью методов. Принцип инкапсуляции (теоретически) позволяет минимизировать число связей между классами и, соответственно, упростить независимую реализацию и модификацию классов.
Наследование — это порождение нового класса-потомка от уже существующего класса-родителя. Класс-родитель называют также супер-классом, а класс-потомок — подклассом. Наследование происходит с передачей всех или некоторых полей и методов от класса-родителя к классу-потомку. В процессе наследования возможно, при необходимости, добавлять новые свойства и методы. Набор классов, связанных отношение наследования, называют иерархией.
Полиморфизм — это явление, при котором функции (методу) с одним и тем же именем соответствует разный программный код (полиморфный код) в зависимости от того, в каком контексте он вызывается (объектами какого класса или с какими параметрами).
При моделировании определенного процесса, объектно-ориентированный подход позволяет заключить принадлежащие некоторому представляемому объекту методы и свойства в определенный класс, что в свою очередь позволяет создавать объект данного класса сколь угодно раз. Удобным является то, что каждый объект при моделировании с использованием ООП настраивается индивидуально, что позволяет симулировать реальное поведение реального объекта непосредственно через его методы и свойства описанные в программе. Реализовав некоторую совокупность классов имеющих различные методы и свойства, можно смоделировать различные процессы, пользуясь только объектами этих классов.
В данной курсовой работе основной задачей является реализация моделирования игры «Тетрис» с использованием объектно-ориентированного подхода. Основное внимание уделяется тому, что главные элементы разрабатываемой программы – в данному случае фигуры, - должны быть реализованы конкретно в виде объектов.