Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

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

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Быстрый счет

Тип Реферат
Предмет Информатика и программирование
Просмотров
1054
Размер файла
731 б
Поделиться

Ознакомительный фрагмент работы:

Быстрый счет

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

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

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

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

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

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

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

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

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

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

Челябинск – 2007

Оглавление

1.Введение

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

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

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

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

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

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

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

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


1.Введение

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

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

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

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

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

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

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 Разработка окна таблицы рекордов.

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

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

1) classdatabase – “Пустой” класс, который содержит только статические методы, по работе с файлами базы данных.

Прототипы методов класса:

staticintadd_player(); - обеспечивает добавление новой сформированной записи в файл базы данных.

staticvoiddel_player(intn); - обеспечивает удаление записи из файла базы данных. Передаваемый целочисленный параметр n, указывает номер удаляемой строки содержащейся в базе данных.

static void init_list(); - обеспечивает инициализацию листа списка учетных записей из файла базы данных.

static void read_player(); - обеспечивает считывание параметров учетной записи из файла базы данных и формирует окно параметров игрока в системе управления учетными записями.

static void save_player(); - обеспечивает сохранение обновленных параметров игрока в файле базы данных.

2) classexercise– абстрактный класс, который содержит параметры генерируемого примера, а также содержит абстрактный метод генерации примера. Имеет двух потомков: withone, withtwo.

Параметры класса:

inta, intb, intc; – числовые значения формирующие элементы примера.

intansw; – числовое значение содержащее правильный ответ на сформированный пример.

intsign, intsign2; – числовые значения формирующие первый и второй знак примера соответственно.

Прототипы методов класса:

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) classspells– класс, содержащий информацию об уникальных способностях.

Параметры класса:

ints1,s2,s3; - содержат информацию о доступности для игрока уникальных способностей.

int wus1,wus2,wus3; - содержит информацию о том, были ли использованы заклинания в течении уровня.

Прототипы методов класса:

spells(); - конструктор, выполняет инициализацию доступности уникальных способностей и установку по умолчанию о том, что уникальные способности еще не были использованы.

6) classspecpooh: publicspells – класс, содержащий методы по активации заклинаний для персонажа Вини-Пух.

Прототипы методов класса:

specpooh(): spells() {} – вызывает конструктор родительского класса spells.

voidmagic1(void); - активирует уникальную способность №1.

void magic2(void); - активирует уникальную способность №2.

void magic3(void); - активирует уникальную способность №3.

7) class specpiglet: public spells – класс, содержащий методы по активации заклинаний для персонажа Пятачок.

Прототипы методов класса:

specpiglet(): spells() {} – вызывает конструктор родительского класса spells.

voidmagic1(void); - активирует уникальную способность №1.

void magic2(void); - активирует уникальную способность №2.

void magic3(void); - активирует уникальную способность №3

8) class spectigger: public spells – класс, содержащий методы по активации заклинаний для персонажа Тигра.

Прототипы методов класса:

spectigger(): spells() {} – вызывает конструктор родительского класса spells.

voidmagic1(void); - активирует уникальную способность №1.

void magic2(void); - активирует уникальную способность №2.

void magic3(void); - активирует уникальную способность №3

9)classplayer – класс, содержащий все необходимые сведения о текущем игроке.

Параметры класса:

charname[16]; - имя игрока.

intlevel; - количество уровней пройденных игроком.

intusetime; - среднее время, которое тратит на уровень игрок.

inthardness; - сложность.

inttype; - тип персонажа.

intb1; - доступность уникальной способности №1.

intb2; - доступность уникальной способности №2.

intb3; - доступность уникальной способности №3.

Прототипы методов класса:

void activate(); - обеспечивает инициализацию всех параметров выбранного игрока.

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

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

cursed2.bpr – файл проект BorlandC++ 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 формате.

Файлы базы данных:

1) profiles.db – главный файл учетных записей, содержит всю информацию об игроках.

2) tmp.db – временный файл, используемый для операций обработки главного файла учетных записей.

В скомпилированном виде, программа будет содержать только следующие файлы:

cursed2.exe, alarm.wav, greentime.wav, spell.wav, profiles.db, tmp.db, helper.rtf

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

Рисунок 1 - Главное меню, сразу после запуска приложения.

После запуска программы вы увидите перед собой главное меню. В нем содержится 6 кнопок, и статус текущего профиля.

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

открывает окно игрового процесса, сейчас она неактивна, так как ваш текущий профиль не выбран.

открывает окно магазина, сейчас она неактивна, так как ваш текущий профиль не выбран.

открывает окно помощи.

открывает окно рекордов.

завершает работу программы.

отображает текущий профиль.

Рисунок 2 – Профиль

вызывает область выбора типа персонажа.

вызывает область для активации профиля.

вызывает область для удаления профиля.

возвращает в главное меню.

отображает все существующие профили.

Рисунок 3 - Выбор персонажа

В области выбора нового персонажа даны изображения всех трех существующих персонажей и их описания, для выбора необходимо кликнуть по понравившемуся персонажу.

Рисунок 4 - Создание нового персонажа

После того, как вы выбрали тип персонажа, вы попадете в область редактирования его параметров.

поле ввода имени профиля.

отображает выбранного персонажа.

отображает выбранную сложность игру.

возвращает к области выбора персонажа.

заносит запись о профиле в базу данных.

Рисунок 5 - Выбор профиля

Отображает всю информацию о профиле, выбранном в листе профилей.

неактивное поле, отображает имя выбранного профиля.

отображает персонажа выбранного профиля.

неактивное меню, отображает сложность выбранного профиля.

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

отображает среднее время, которое игрок затрачивает на уровень.

отображает “Успешность” выбранного профиля.

отображает доступность уникальных способностей. Знак “-” означает, что способность недоступна, знак “+” означает, что способность доступна.

выполняет активацию профиля и отключает блокировку пунктов главного меню “Начать игру” и “Магазин”.

Рисунок 6 - Удаление профиля

Область удаления профиля, выбранного для удаления в листе профилей практически полностью аналогична области выбора профиля, единственное отличие в кнопках.

удаляет все записи об игроке из базы данных.

Рисунок 7 - Главное меню, после активации профиля

после активации профиля в Текущем профиле отображается имя активированного профиля.

Рисунок 8 - Окно игрового процесса, при начале игры

ведет обратный отсчет времени до 0.

ведет обратный отсчет решенных примеров до 0.

отображает имя игрока.

отображает сложность игры.

отображает номер проходимого уровня.

поле ввода ответов, неактивно до момента окончания подготовительного этапа, который длится в течении 5 секунд после начал игры.

отображает уникальные способности игрока. Маленькие пиктограммы означают, что способность недоступна, или уже была использована. Большие пиктограммы означают, что способность может быть использована.

отображает количество “жизней” игрока.

возвращает в главное меню.

Рисунок 9 - окно игрового процесса, в течении игры

отображает текущий пример.

поле ввода принимает красный цвет, если ваш предыдущий ответ был ошибочен и зеленый, если предыдущий ответ был правильный.

Рисунок 10 – Магазин при заходе в него

отображает возможное для покупки заклинание.

возвращает в главное меню.

подтверждает выбор заклинания и заносит информацию о его приобретении в базу данных.

Рисунок 11 - Магазин при выборе заклинания

отображает подсказку к выбранному заклинанию.

отображает категорию навыка (Активный или Пассивный).

Рисунок 12 – Об игре

Содержит руководство пользователя по всем аспектам игры.

возвращает в главное меню.

Рисунок 13 – Рекорды

Отображает результаты 10 лучших игроков.

возвращает в главное меню.

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

1) Из всех заголовков окон проекта была убрана кнопка Maximize, для запрещения изменения размеров с целью сохранения задуманных при дизайне пропорций.

2) Был поставлен запрет на ручное изменение размеров окон, по той же причине.

3) Для сохранения общей “мультяшной” стилистики везде был использован текст со шрифтом MSComicSans.

4) В события закрытия всех окон был добавлен передаваемый по ссылке параметр Action=caFree, для освобождения памяти.

5) Для всех форм была добавлена своя иконка. Эта же иконка добавлена и к исполняемому файлу самого приложения.

6) Для введения баланса между различными уровнями сложности был введен параметр “Успешность”, который учитывая такие параметры как: сложность игры, количество пройденных уровней, среднее время затрачиваемое на уровень, формирует рейтинг игрока.

7) В подготовительное время, таймер подсвечивается зеленым цветом, и каждую секунду озвучивает мелодичный звук.

8) При подходе времени выделенного на уровень к концу, таймер подсвечивается красным цветом, и каждую секунду играет тревожный звуковой сигнал.

9) Из заголовка формы игрового процесса была убрана кнопка закрытия, так как при зажатии и удержании ее, таймер останавливался, что могло способствовать недобросовестной игре.

10) Программа собрана с параметрами, обеспечивающие независимость программного кода от среды разработки, то есть обладает полной переносимостью.

11) Для программы создан инсталлятор средствами WinRAR.

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

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


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

· “Программирование в C++ Builder 6”, А.Я. Архангельский, Москва “Бином” 2006.


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156450
рейтинг
icon
6068
работ сдано
icon
2737
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
63 457 оценок star star star star star
среднее 4.9 из 5
Филиал государственного бюджетного образовательного учреждения высшего образования Московской област
Спасибо Елизавете за оперативность. Так как это было важно для нас! Замечаний особых не бы...
star star star star star
РУТ
Огромное спасибо за уважительное отношение к заказчикам, быстроту и качество работы
star star star star star
ТГПУ
спасибо за помощь, работа сделана в срок и без замечаний, в полном объеме!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

решить 6 практических

Решение задач, Спортивные сооружения

Срок сдачи к 17 дек.

только что

Задание в microsoft project

Лабораторная, Программирование

Срок сдачи к 14 дек.

только что

Решить две задачи №13 и №23

Решение задач, Теоретические основы электротехники

Срок сдачи к 15 дек.

только что

Решить 4задачи

Решение задач, Прикладная механика

Срок сдачи к 31 дек.

только что

Выполнить 2 задачи

Контрольная, Конституционное право

Срок сдачи к 12 дек.

2 минуты назад

6 заданий

Контрольная, Ветеринарная вирусология и иммунология

Срок сдачи к 6 дек.

4 минуты назад

Требуется разобрать ст. 135 Налогового кодекса по составу напогового...

Решение задач, Налоговое право

Срок сдачи к 5 дек.

4 минуты назад

ТЭД, теории кислот и оснований

Решение задач, Химия

Срок сдачи к 5 дек.

5 минут назад

Решить задание в эксель

Решение задач, Эконометрика

Срок сдачи к 6 дек.

5 минут назад

Нужно проходить тесты на сайте

Тест дистанционно, Детская психология

Срок сдачи к 31 янв.

6 минут назад

Решить 7 лабораторных

Решение задач, визуализация данных в экономике

Срок сдачи к 6 дек.

7 минут назад

Вариационные ряды

Другое, Статистика

Срок сдачи к 9 дек.

8 минут назад

Школьный кабинет химии и его роль в химико-образовательном процессе

Курсовая, Методика преподавания химии

Срок сдачи к 26 дек.

8 минут назад

Вариант 9

Решение задач, Теоретическая механика

Срок сдачи к 7 дек.

8 минут назад

9 задач по тех меху ,к 16:20

Решение задач, Техническая механика

Срок сдачи к 5 дек.

9 минут назад
9 минут назад
10 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно