Разработка объектной модели программы
Основная часть
Постановка задачи
Главной задачей является разработка законченного приложения, позволяющего в игровой форме тренировать и улучшать навыки устного счета. Поскольку программа главным образом ориентирована на пользователя младшего и среднего школьного возраста, то за главную тематическую идею программы были взяты знаменитые сказочные персонажи из знаменитого произведения Алана Александра Милна “Вини-Пух и Все-Все-Все”, которые выполнены в стилистике одноименного диснеевского мультфильма. Необходимый для реализации функционал: · Разработка системы управления учетными записями, для возможности использования одного приложения множеством пользователей. o Разработка системы создания учетной записи. o Разработка системы удаления учетной записи. o Разработка системы активации учетной записи. o Разработка алгоритмов взаимодействия с базой данных. o Разработка системы защиты от внесения ошибочных параметров в базу данных. · Разработка формирования таблицы рекордов, для возможности отслеживания лучших результатов, среди игроков. o Разработка математической модели для возможности сбалансированного формирования рейтинга между игроками различных уровней сложности. o Разработка алгоритма подсчета лучших результатов в записях базы данных. o Разработка алгоритма сортировки лучших результатов в записях базы данных. · Разработка ролевой модели. o Разработка различных видов персонажей. o Разработка уникальных способностей каждого из персонажей. o Разработка системы получения новых способностей. · Разработка базы данных. o Разработка синтаксиса файлов базы данных. o Разработка полей параметров хранимых в базе данных. § Имя § Персонаж § Количество пройденных уровней § Среднее время прохождения уровня § Статус уникальной способности №1 § Статус уникальной способности №2 § Статус уникальной способности №3 o Разработка алгоритмов обеспечивающих формирование файлов базы данных. · Разработка основного игрового процесса. o Разработка системы реализации различных уровней сложности. o Разработка генератора примеров с учетом выбранной сложности. § Поддержка операций сложения. § Поддержка операций вычитания. § Поддержка операций умножения. § Поддержка операций деления. § Обеспечение генерации примеров с учетом обязательности целочисленного положительного, либо целочисленного отрицательного ответа. o Разработка таймера, контролирующего отсчет игрового времени. o Разработка контроля правильности ответа. o Разработка системы “жизней”, для ограничения количества неверных ответов. o Разработка влияния уникальных способностей на игровой процесс. · Разработка системы приобретения новых уникальных способностей. o Разработка алгоритмов контролирующих доступность приобретения способностей. o Разработка алгоритмов обеспечивающих запись о новых способностях в базу данных. · Разработка справочной системы и документации. · Разработка графической оболочки приложения. o Разработка главного меню. o Разработка окна управления учетными записями. o Разработка окна основного игрового процесса. o Разработка окна “Магазина”, для приобретения новых способностей. o Разработка окна справочной системы. o Разработка окна таблицы рекордов.
Разработка объектной модели программы
При написании приложения использовались основные принципы ООП. Ниже перечислены используемые в программе классы: 1) class database – “Пустой” класс, который содержит только статические методы, по работе с файлами базы данных. Прототипы методов класса: static int add_player(); - обеспечивает добавление новой сформированной записи в файл базы данных. static void del_player(int n); - обеспечивает удаление записи из файла базы данных. Передаваемый целочисленный параметр n, указывает номер удаляемой строки содержащейся в базе данных. static void init_list(); - обеспечивает инициализацию листа списка учетных записей из файла базы данных. static void read_player(); - обеспечивает считывание параметров учетной записи из файла базы данных и формирует окно параметров игрока в системе управления учетными записями. static void save_player(); - обеспечивает сохранение обновленных параметров игрока в файле базы данных. 2) class exercise – абстрактный класс, который содержит параметры генерируемого примера, а также содержит абстрактный метод генерации примера. Имеет двух потомков: withone, withtwo. Параметры класса: int a, int b, int c; – числовые значения формирующие элементы примера. int answ; – числовое значение содержащее правильный ответ на сформированный пример. int sign, int sign2; – числовые значения формирующие первый и второй знак примера соответственно. Прототипы методов класса: virtual void generate(int h); - абстрактный метод. 3) class withone: public exercise – класс-потомок, от предка exercise. Прототипы методов класса: void generate(int h); - формирует пример с одним действием (сложение, вычитание, умножение, деление). Использует целочисленную переменную h, для формирования примера в соответствии с уровнем сложности. 4) class withtwo: public exercise – класс-потомок, от предка exercise. Прототипы методов класса: void generate(int h); - формирует пример с двумя действиями (сложение, вычитание, умножение, деление). Использует целочисленную переменную h, для формирования примера в соответствии с уровнем сложности. 5) class spells – класс, содержащий информацию об уникальных способностях. Параметры класса: int s1,s2,s3; - содержат информацию о доступности для игрока уникальных способностей. int wus1,wus2,wus3; - содержит информацию о том, были ли использованы заклинания в течении уровня. Прототипы методов класса: spells(); - конструктор, выполняет инициализацию доступности уникальных способностей и установку по умолчанию о том, что уникальные способности еще не были использованы. 6) class specpooh: public spells – класс, содержащий методы по активации заклинаний для персонажа Вини-Пух. Прототипы методов класса: specpooh(): spells() {} – вызывает конструктор родительского класса spells. void magic1(void); - активирует уникальную способность №1. void magic2(void); - активирует уникальную способность №2. void magic3(void); - активирует уникальную способность №3. 7) class specpiglet: public spells – класс, содержащий методы по активации заклинаний для персонажа Пятачок. Прототипы методов класса: specpiglet(): spells() {} – вызывает конструктор родительского класса spells. void magic1(void); - активирует уникальную способность №1. void magic2(void); - активирует уникальную способность №2. void magic3(void); - активирует уникальную способность №3 8) class spectigger: public spells – класс, содержащий методы по активации заклинаний для персонажа Тигра. Прототипы методов класса: spectigger(): spells() {} – вызывает конструктор родительского класса spells. void magic1(void); - активирует уникальную способность №1. void magic2(void); - активирует уникальную способность №2. void magic3(void); - активирует уникальную способность №3 9) class player – класс, содержащий все необходимые сведения о текущем игроке. Параметры класса: char name[16]; - имя игрока. int level; - количество уровней пройденных игроком. int usetime; - среднее время, которое тратит на уровень игрок. int hardness; - сложность. int type; - тип персонажа. int b1; - доступность уникальной способности №1. int b2; - доступность уникальной способности №2. int b3; - доступность уникальной способности №3. Прототипы методов класса: void activate(); - обеспечивает инициализацию всех параметров выбранного игрока.
Популярное: Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (202)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |