class Game
|
class Zmeja
|
Zmeja gaduka; //змейка
COORD jabloko; //яблоко
int dx,dy; //передвижение
pause; //задержка
int nap; //направление
|
COORD *t; //точки
int PCount; //количество яблок
|
Диаграммы объектов
Диаграммы прецедентов
Вступительная заставка
Движение змейки
Сбор яблок
Наезд на стену - конец игры
Наезд на себя - конец игры
РАБОЧЕЕ ПРОЕКТИРОВАНИЕ
СТРУКТУРЫ КЛАССОВ
Класс Game
Zmeja gaduka; //Змейка.
COORD jabloko; //Переменная для функции разброса яблок.
int dx,dy, //Переменные для функции движения змейки.
pause; //задержка
int nap; //направление
Класс Zmeja
COORD *t; //Точки из которых состоит само тело нашей змейки.
int PCount; //Количество яблок, съеденное змейкой на протяжении игры.
АЛГОРИТМ ФУНКЦИИ MAIN
Пока не нажата клавиша ESC выполняется:
hConsole = GetStdHandle(STD_OUTPUT_HANDLE); //получаем дескриптор консоли
intro(); //Показываем начальную заставку-приветствие
int key = 0, count = 0;
bool Pause=false;
Game g;
skorostGame(g);
STENA_2();
srand(time(0));
bool pause = false;
Пока (!kbhit())
Если (Pause==true)
switch (Move(g))
Назначаем определённым клавишам определённые выполняемые операции.
Sleep(1); //Задержка
Выводим данные о счёте.
Если уже есть 50 яблок, то:
Если врезались в стену или сами в себя, то:
Sleep(g.pause); //Задержка
Вывод выигрышного сообщения.
Завершение цикла.
Вывод проигрышного сообщения.
Завершение цикла.
ВЫВОДЫ
В процессе выполнения курсовой работы были освоены и закреплены навыки объектно-ориентированного программирования.
Игра разработана для широкого круга пользователей, не требует подготовки и дополнительных знаний, тренирует внимание, отрабатывает реакцию игрока на использование кнопок управления. Все это делает игру привлекательной для пользователей.
Достоинство игры состоит в том, что она не занимает много места и не требует много оперативной памяти. Программный продукт довольно прост в использовании и не нуждается в установке дополнительных программ.
ОПИСАНИЕ ПРОГРАММЫ
В программе реализовано одно из решений известной классической задачи «змейка». Игрок задает направление движения змейки с помощью управляющих клавиш (стрелок). Если змейка находит (съедает) яблоко, то её длина увеличивается. Цель игры – вырастить змейку , размером в 50 точек.
Программа может быть использована для приятного времяпровождения. Играть в нее могут люди всех возрастов и уровней интеллекта, автор с большим удовольствием играет в нее.
Создание данной работы вдохновило создателя игры на развитие своих навыков в сфере создания игр. Каждый с чего-то начинал. Эта работа для автора – отправная точка.
НЕДОСТАТКИ ПРОГРАММЫ
Написанная программа может модифицироваться. Возможны следующие нововведения:
создание красивого интро-меню с возможностью выбора нескольких пунктов:
Начать игру
Настройки
Рекорды
Выход
Запись результатов в файл для ведения статистических данных о рекордх.
Создание вывода из файла на экран в виде таблицы рекордов
Использование OpenGL при выводе графики
Сделать исходные коды кросплатформенными.
ПЕРЕЧЕНЬ ССЫЛОК
Интернет-Университет Информационных Технологий.
[Электронный ресурс] - http://www.intuit.ru/
Сайт http://www.codenet.ru/
Шилдт Г. С++: руководство для начинающих. – М.:Вильямс, 2005., 628 с
Шилдт Г. С++: базовый курс, третье издание. – К.:Вильямс, 2004., 547 с
Кермиган Б.В., Ричи Д.Н. Язык С[электронный ресурс] – Режим доступа: http://www.books4all.ru/ganri/sisi+.html – Загл. С экрана.
Ашарина И.В. основы программирования на языках С и С++. – М., 2002., 681 с
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ
ДОНЕЦКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА ПРИКЛАДНОЙ МАТЕМАТИКИ И ИНФОРМАТИКИ
Утверждаю
Зав.каф. ПМиИ
Башков Е.А.
__.__.2009 г.
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
на курсовую работу по дисциплине
«Объектно-ориентированное программирование»
Студенту гр. ПКД-08 Даниленко А.А.
Тема: Проектирование и реализация компьютерной игры
«Змейка»
Задание
Сценарий. Игрок управляет змейкой. Змейка перемещается по полю и съедает яблоки, разбрасываемые по игровому полю. На экран выводится количество съеденных яблок.
Требования к программному изделию
Должно быть разработано объектно-ориентированное проектирование (с использованием UML) и программное обеспечение с использованием принципов ООП (инкапсуляции, наследования, полиморфизма), с анимацией изображения объекта класса.
Курсовая работа должна быть выполнена на языке Си++ .
Требования к программной документации
Пояснительная записка по курсовой работе должна сопровождаться следующими программными документами: описание программы; руководство программиста; руководство оператора; текст программы.
График выполнения курсовой работы
№
|
Наименование этапа
|
Недели
|
1
|
Выдача задания на курсовую работу.
|
1-2
|
2
|
Постановка задачи. Определение требований к программе.
|
1-2
|
3
|
Техническое проектирование
|
2
|
4
|
Рабочее проектирование
|
4-5
|
5
|
Написание программы
|
6-10
|
6
|
Комплексная отладка и тестирование
|
11-12
|
7
|
Написание пояснительной записки
|
13-15
|
8
|
Защита курсовой
|
16-18
|
Дата выдачи задания 11.02.09
Задание принял к исполнению Даниленко А.А
Руководители проекта Михайлова Т.В
Павлий В.А. РУКОВОДСТВО ПРОГРАММИСТА
Назначение программы – компьютерная игра, предназначенная для развлекательных целей и отработки реакции у пользователя.
Условия для нормальной работы программы:
- монитор с минимальным разрешением экрана 800 на 600 пикселей;
- наличие клавиатуры;
- среда MS-DOS, Windows 98/200/ME/XP/Vista/7
- процессор тактовой частотой не ниже 200МГц;
- видеокарта;
- минимальный объем оперативной памяти – 32 МБ.
РУКОВОДСТВО ОПЕРАТОРА
Запуск игры происходит при двойном нажатии левой кнопки мыши на ярлыке игры с расширением .EXE.
После запуска игры на экран выводится приветствие, после просмотра которого, пользователю предлагается начать игру нажатием любой кнопки клавиатуры.
Разработанное приложение предназначено для развлекательных целей.
Для работы с данным продуктом пользователю понадобится:
Монитор с минимальным разрешением экрана 640 на 480 п., клавиатура, Widows 98/2000/XP/Vista/7, Процессор 233 Мгц, видеокарта.
ЭКРАННЫЕ ФОРМЫ
1. Запускаем игру, появляется приветствующее нас сообщение.
2. Собственно, игра начинается. Цель – скушать постоянно увеличивающейся змейкой 50 яблок, разбрасываемых по игровому полю.
Экран проигрыша:
Экран выигрыша:
Стр.
Достарыңызбен бөлісу: |