Мегаобучалка Главная | О нас | Обратная связь


Разработка объектной модели программы



2019-07-03 202 Обсуждений (0)
Разработка объектной модели программы 0.00 из 5.00 0 оценок




Основная часть

 

Постановка задачи

 

Главной задачей является разработка законченного приложения, позволяющего в игровой форме тренировать и улучшать навыки устного счета. Поскольку программа главным образом ориентирована на пользователя младшего и среднего школьного возраста, то за главную тематическую идею программы были взяты знаменитые сказочные персонажи из знаменитого произведения Алана Александра Милна “Вини-Пух и Все-Все-Все”, которые выполнены в стилистике одноименного диснеевского мультфильма.

    Необходимый для реализации функционал:

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

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(); - обеспечивает инициализацию всех параметров выбранного игрока.



2019-07-03 202 Обсуждений (0)
Разработка объектной модели программы 0.00 из 5.00 0 оценок









Обсуждение в статье: Разработка объектной модели программы

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (202)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)