Быстрый счет (46957)

Посмотреть архив целиком

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Южно-Уральский государственный университет

Кафедра «Информатика»







ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе
по дисциплине «высокоуровневые методы информатики и программирования»

Тема: Быстрый счет




Выполнил: Плохов В.В.

Специальность: 080801

Группа: ЭиУ - 263








Челябинск – 2007



Оглавление

1.Введение

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

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

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

2.3.Описание файлов проекта

2.4.Описание работы проекта

2.5.Некоторые общие моменты

3.Заключение

4.Список источников информации


1.Введение


Разработка программы велась с использованием средств Объектно-Ориентированного Программирования (ООП). ООП - концепция, которая в свое время произвела настоящую революцию в программировании. До появления ООП программа представляла собой логически единый код с ярко выраженными функциональными зависимостями (процедурный подход). ООП предполагает, что приложение строится из набора независимых по своему внутреннему устройству объектов. Таким образом, каждый объект может содержать собственные данные, недоступные другим объектам системы. Очевидно, что абсолютно независимыми объекты быть не могут, поскольку им необходимо взаимодействовать между собой, использовать общие данные и обмениваться собственными данными. Но, пока не меняется механизм взаимодействия с другими объектами системы, внутреннее устройство объекта можно изменять по своему желанию, не затрагивая других компонент системы.


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



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


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

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

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

    • Разработка системы создания учетной записи.

    • Разработка системы удаления учетной записи.

    • Разработка системы активации учетной записи.

    • Разработка алгоритмов взаимодействия с базой данных.

    • Разработка системы защиты от внесения ошибочных параметров в базу данных.

  • Разработка формирования таблицы рекордов, для возможности отслеживания лучших результатов, среди игроков.

    • Разработка математической модели для возможности сбалансированного формирования рейтинга между игроками различных уровней сложности.

    • Разработка алгоритма подсчета лучших результатов в записях базы данных.

    • Разработка алгоритма сортировки лучших результатов в записях базы данных.

  • Разработка ролевой модели.

    • Разработка различных видов персонажей.

    • Разработка уникальных способностей каждого из персонажей.

    • Разработка системы получения новых способностей.

  • Разработка базы данных.

    • Разработка синтаксиса файлов базы данных.

    • Разработка полей параметров хранимых в базе данных.

      • Имя

      • Персонаж

      • Количество пройденных уровней

      • Среднее время прохождения уровня

      • Статус уникальной способности №1

      • Статус уникальной способности №2

      • Статус уникальной способности №3

    • Разработка алгоритмов обеспечивающих формирование файлов базы данных.

  • Разработка основного игрового процесса.

    • Разработка системы реализации различных уровней сложности.

    • Разработка генератора примеров с учетом выбранной сложности.

      • Поддержка операций сложения.

      • Поддержка операций вычитания.

      • Поддержка операций умножения.

      • Поддержка операций деления.

      • Обеспечение генерации примеров с учетом обязательности целочисленного положительного, либо целочисленного отрицательного ответа.

      • Разработка таймера, контролирующего отсчет игрового времени.

      • Разработка контроля правильности ответа.

      • Разработка системы “жизней”, для ограничения количества неверных ответов.

      • Разработка влияния уникальных способностей на игровой процесс.

  • Разработка системы приобретения новых уникальных способностей.

    • Разработка алгоритмов контролирующих доступность приобретения способностей.

    • Разработка алгоритмов обеспечивающих запись о новых способностях в базу данных.

      • Разработка справочной системы и документации.

      • Разработка графической оболочки приложения.

    • Разработка главного меню.

    • Разработка окна управления учетными записями.

    • Разработка окна основного игрового процесса.

    • Разработка окна “Магазина”, для приобретения новых способностей.

    • Разработка окна справочной системы.

    • Разработка окна таблицы рекордов.


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


При написании приложения использовались основные принципы ООП. Ниже перечислены используемые в программе классы:

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.


Случайные файлы

Файл
25127-1.rtf
341.doc
73534-1.rtf
154281.rtf
46224.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.