15
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
Южно-Уральский государственный университет
Кафедра «Информатика»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе по дисциплине «высокоуровневые методы информатики и программирования»
Тема: Быстрый счет
Выполнил: Плохов В.В.
Специальность: 080801
Группа: ЭиУ - 263
Челябинск - 2007
Оглавление
Главной задачей является разработка законченного приложения, позволяющего в игровой форме тренировать и улучшать навыки устного счета. Поскольку программа главным образом ориентирована на пользователя младшего и среднего школьного возраста, то за главную тематическую идею программы были взяты знаменитые сказочные персонажи из знаменитого произведения Алана Александра Милна “Вини-Пух и Все-Все-Все”, которые выполнены в стилистике одноименного диснеевского мультфильма.
Необходимый для реализации функционал:
· Разработка системы управления учетными записями, для возможности использования одного приложения множеством пользователей.
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 magic3(void); - активирует уникальную способность №3
8) class spectigger: public spells - класс, содержащий методы по активации заклинаний для персонажа Тигра.
spectigger(): spells() {} - вызывает конструктор родительского класса spells.
Страницы: 1, 2