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

2016-07-30СтудИзба

Описание файла

Документ из архива "Быстрый счет", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46957"

Текст из документа "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.

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


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

Файл проекта:

cursed2.bpr – файл проект Borland C++ Builder

Файлы с исходными кодами:

  1. cursed2.cpp – главный файл, выполняет инициализацию и запуск приложения. Создает форму главного меню form_main.

  2. database.h – содержит описание класса database.

  3. database.cpp – содержит описание методов класса database.

  4. exercise.h – содержит описание родительского абстрактного класса exercise, а также описание классов-потомков withone и withtwo.

  5. exercise.cpp – содержит описание методов классов-потомков withone и withtwo.

  6. gaming.h – содержит описание класса Tform_gaming - формы игрового процесса form_gaming.

  7. gaming.cpp – содержит описание методов класса Tform_gaming - формы игрового процесса form_gaming.

  8. help.h – содержит описание класса Tform_help - формы справки form_help.

  9. help.cpp – содержит описание методов класса Tform_help - формы справки form_help.

  10. main.h – содержит описание класса Tform_main - формы главного меню form_main.

  11. main.cpp – содержит описание методов класса Tform_main - формы главного меню form_main.

  12. market.h – содержит описание класса Tform_market - формы магазина form_market.

  13. market.cpp – содержит описание методов класса Tform_market - формы магазина form_market.

  14. player.h – содержит описание класса player.

  15. player.cpp – содержит описание методов класса player.

  16. profile.h – содержит описание класса Tform_profile - формы профилей form_profile.

  17. profile.cpp – содержит описание методов класса Tform_profile - формы профилей form_profile.

  18. records.h – содержит описание класса Tform_records - формы рекордов form_records.

  19. records.cpp – содержит описание методов класса Tform_records - формы рекордов form_records.

  20. spells.h – содержит описание родительского класса spells, а также описание классов-потомков specpooh, specpiglet, spectigger.

  21. spells.cpp – содержит описание методов родительского класса spells, а также описание методов классов-потомков specpooh, specpiglet, spectigger.

  22. gaming.dfm – файл формы игрового процесса.

  23. help.dfm – файл формы справки.

  24. main.dfm – файл формы главного меню.

  25. market.dfm – файл формы магазина.

  26. profile.dfm – файл формы профилей.

  27. records.dfm – файл формы рекордов.

Файлы с графикой:

  1. cloud.jpg – облачко для формы магазина.

  2. creator.jpg – изображение создателя для формы помощи.

  3. gamingbg.jpg – фоновое изображение для формы игрового процесса.

  4. gb1.jpg – маленькая пиктограмма уникальной способности №1 Пятачка.

  5. gb2.jpg – маленькая пиктограмма уникальной способности №2 Пятачка.

  6. gb3.jpg – маленькая пиктограмма уникальной способности №3 Пятачка.

  7. help.jpg – изображение для формы помощи.

  8. lgb1.jpg – большая пиктограмма уникальной способности №1 Пятачка.

  9. lgb2.jpg – большая пиктограмма уникальной способности №2 Пятачка.

  10. lgb3.jpg – большая пиктограмма уникальной способности №3 Пятачка.

  11. live.jpg – пиктограмма “жизни” для формы игрового процесса.

  12. lpb1.jpg – большая пиктограмма уникальной способности №1 Винни-Пуха.

  13. lpb2.jpg – большая пиктограмма уникальной способности №2 Винни-Пуха.

  14. lpb3.jpg – большая пиктограмма уникальной способности №3 Винни-Пуха.

  15. ltb1.jpg – большая пиктограмма уникальной способности №1 Тигры.

  16. ltb2.jpg – большая пиктограмма уникальной способности №2 Тигры.

  17. ltb3.jpg – большая пиктограмма уникальной способности №3 Тигры.

  18. main.jpg – фоновое изображение для формы главного меню и формы профиля.

  19. market.jpg – изображение продавца для формы магазина.

  20. pb1.jpg – маленькая пиктограмма уникальной способности №1 Винни-Пуха.

  21. pb2.jpg – маленькая пиктограмма уникальной способности №2 Винни-Пуха.

  22. pb3.jpg – маленькая пиктограмма уникальной способности №3 Винни-Пуха.

  23. piglet.jpg – большое изображение Пятачка.

  24. piglet-min.jpg – маленькое изображение Пятачка.

  25. pooh.jpg – большое изображение Винни-Пуха.

  26. pooh-min.jpg – маленькое изображение Винни-Пуха.

  27. records.jpg – фоновое изображение для формы рекордов.

  28. tb1.jpg – маленькая пиктограмма уникальной способности №1 Тигры.

  29. tb2.jpg – маленькая пиктограмма уникальной способности №2 Тигры.

  30. tb3.jpg – маленькая пиктограмма уникальной способности №3 Тигры.

  31. tigger.jpg – большое изображение Тигры.

  32. tigger-min.jpg – маленькое изображение Тигры.

  33. icon.ico – иконка приложения.

Файлы со звуком:

  1. alarm.wav – звук тревоги.

  2. greentime.wav – звук подготовительных секунд.

  3. spell.wav – звук заклинания.

Файл помощи:

helper.rtf – файл содержит справку в rtf формате.

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее