close

Вход

Забыли?

вход по аккаунту

?

kur zvit ex

код для вставкиСкачать
Анотація
Курсова робота являє собою версію комп’ютерної гри – тренажер
клавіатури. Робота виконана на мові програмування Pascal і працює
в графічному режимі 640х480. Має набір букв та комбінацій букв,
що можуть рухатись з різними швидкостями в залежності від того
скільки правильно літер ви натиснули, це визначаеться за
допомогою рахунку очків і як тільки ви набираєте 20 очків так зразу
ж швидкість руху починає поступово зростати. Якщо ви наберете 50
очків то виконується перехід на другий рівень, де вже рухаються
комбінаціі літер. Правильне натискання клавіш або комбінацій
клавіш на клавіатурі у відповідності з літерами або комбінаціями
літер,що рухаються на екрані призводить не тільки до збільшення
рахунку,а вони також відображаються на клавіатурі, яка
намальована на екрані.
Як довідка, так і сама програма
викоритсовує англійську мову. Написано два модулі - "KB" та "KB1"
і головну програму "alina".
0
ЗМІСТ
АНОТАЦІЯ___________________________________
ЗМІСТ
1.ВСТУП_______________________________________________
2.ОСНОВНА ЧАСТИНА_______________________________
2.1.ПОСТАНОВКА ЗАДАЧІ_______________________________
2.2.МЕТОД РОЗВ’ЗКУ ЗАДАЧІ __________________________
2.3.ОПИС АЛГОРИТМУ ________________________________
2.4.ОПИС ПРОГРАМИ ___________________________________
2.4.1ОПИС ГОЛОВНИХ ПРОЦЕДУР ТА ФУНКЦІЙ ___________
2.5.ОПИС ІРТЕРФЕЙСУ _________________________________
3.ВИСНОВКИ ________________________________________
4.ЛІТЕРАТУРА _______________________________________
5. ДОДАТОК-ЛІСТИНГ ПРОГРАМИ________________________
1
1.ВСТУП
Я вибрав гру тренажер клавіатури для себе, як тему курсової
роботи тому, що:
а) бажав написати гру, а також мені було цікаво зробити щось в
графічному режимі на мові програмування Pascal;
б) бажав написати тренажер клавіатури з простими правилами гри
прості правила гри.
Взагалі існують різні версії, або навіть інтерпретації такої
популярної комп'ютерної гри, як тренажер клавіатури, що
спрямована на набуття та удосконалення користувачем ПК навиків
роботи з клавіатурою. Я грав лише в деякі такі ігри.
Перед початком гри на монітор виводиться по одній літері зі звуком
напис “Trainer of the KEYBOARD” та з’являються дві клавіші
“ENTER” та “EXIT”, після того як ви вибираєте клавішу “ENTER”
Вам буде запропоновано зареєструватися – це робиться для того,
щоб ваш результат зберігся та наступні ігроки або навіть ви самі
змогли його побачити при грі в слідуючий раз.
В моїй програмі два базових, основних рівня: класичний,
тобто коли на екрані рухаються окремі літери та другий коли на
екрані рухаються комбінації літер,що зникають при правильному
натисканні літер або комбінацій літер (підряд та з інтервалом менш
ніж двадцять сотих секунди) відповідно.
Рахуються і висвітлюються очки - за кожну правельно
натиснуту літеру по одному .Зростає і швидкість після двадцяти
вірнонатиснутих клавіш з кожною правильно натиснутою
наступною. Виконано досить компактний та зручний інтерфейсменю зправа, зліва - ігрове вікно в графічному режимі де рухаються
літери та куди виводиться відповідна інформація після вибору
відповідного пункта меню , справа очки. Меню має чотири пункти “HELP”, “REGISTRATION”, “GAME” та "EXIT" та підменю –
“ Sound yes”, “Sound no”, “Lavel SY”(другий рівень зі звуком),
“Lavel SN”(другий рівень без звука), що з’являється після ви бору
пункта меню “GAME”.
Я зробив можна вважати класичний тренажер клавіатури , але
існують різні версії:
1) Реалізовано багато різних версій крім класичних. В деяких інше
дуже "екзотичне" відображення літер на клавіатурі на екрані,
наприклад замість клавіатури намальований прямокутник на
якому при правильному натисканні клавіш спочатку в деякому
місті, яке співпадає з місцем
розташування клавіши на
справжній клавіатурі, спочатку відображується
відповідна
клавіша при співпадінні
натиснутої клавіші з літерою,що
2
рухається, а потім зникає .Я вибрав класичний малюнок гри,тому
що ігрок просто дивлячись на монітор, навіть, можливо не
бажаючи того запам’ятовує розташування клавіш.
2) Інша система підрахування очок, наприклад по 1 за дві правильно
натиснуті літери, а далі за 2 -5 і т.п. Я вибрав по 1 за лінію для
спрощення підрахунку і запам'ятовування очок саме
користувачем.
3) Інша система підрахунку швидкості.
4) Аналіз ходу гри, наприклад якщо 10 літер впали підряд і ви
жодної не встигли натиснути то з’являється повідомлення
“Відпочиньте”.
3
2. ОСНОВНА ЧАСТИНА
2.1. Постановка задачі
Реалізація повноцінної і робочої версії гри тренажер
клавіатури, з наступними умовами і правилами:
1) Мета гри – якомога більше правильно натиснути клавіш або
комбінацій клавіш, за це ігрок набирає очки.
2) Кінець гри – коли ігрок не зміг набрати п’ятдесят очок для
переходу на другий рівень.
3) Коли літера досягає опори знизу, вона зникає очки не
збільшуються і починає рухатися наступна.
4) Літера рухається лише в межах активного вікна в якому
відбувається гра.
5) Комбінація літер зникає тоді і тільки тоді коли вона досягла
нижньої опори вікна або натиснуті клавіші з літерами в
правильній послідовності з інтервалом менш ніж двадцять сотих
секунди.
6) Кожне очко після двадцяти очок збільшується швидкість. Всього
можливо 10 швидкості.
7) Після того як ви правильно натиснули літеру, що рухається на
екрані вона відображається на намальованій клавіатурі і при
цьому можливий звуковий сигнал, що супроводжує це
натискання якщо ви у підменю вибрали пункт гра зі звуком.
8) До меню можна повернутися натиском <ESC>, при цьому ваш
результат буде збережений.
4
2.2. Метод розв'язку задачі
Основою в грі є зчитування із зовнішнього файлу строк , потім
знаходимо довжину строки та виводимо окрему її букву на екран.
Перед виведенням ми перевіряємо знаходження цього елементу в
одній із множин і в залежності від множини в якій знаходиться він
ми виводимо (його) цю букву в деякому місці ігрового екрана (при
знаходженні літери в одній із множин ми збільшуємо або
зменшуємо Х-координату місця виведення відповідно) це
здійснюється за допомогою процедури Zcuv.Потім в циклі із місця
виведення літери починається її рух (рух реалізований за
допомогою збільшення координати літери по Y та затирання
попереднього зображення ), який припиняється або при досягненні
нею нижньої опори, або при співпадінні її з зчитаною літерою з
клавіатури. Якщо зчитана літера співпадає з тією що рухається на
екрані виконується вихід із циклу і починається знаходження місце
розташування зчитаної літери на намальованій клавіатурі для того
щоб “натиснути” відповідну клавішу(це здійснює процедура
minolta),збільшиться кількість очків, якщо в підменю вибраний
пункт “Гра зі звуком” то за допомогою процедури sound пролунає
звук натиснутої клавіши.
Аналогічно відбувається рух деякої комбінації літер тільки
при цьому змінюється реалізація циклу. Цикл реалізується за
допомогою двох змінних логічного типу Boolean.Ми перевіряемо чи
є зчитаним якийсь символ з клавіатури, якщо є тоді ми порівнюємо
його з першою літерою нашої комбінації, якщо вони співпадають то
першій логічній змінній ми прсвоюємо значення True і за допомогою
процедури GetTime(hour,minute,second,sec100)беремо час.
Потім порівнюємо другу літеру строки з зчитаною і якщо вони
співпадають то ми другій змінній присвоюємо значення True і знову
беремо час, якщо модуль різниці приведеного часу менше двадцяти
сотих секунди обидві змінні мають значення True то виконується
вихід із циклу інакше цим змінним присвоюється значення False.
Якщо під час гри ігрок натисне <ESC> то автоматично відкриється
файл в який буде записано його результат.
5
2.3. Опис алгоритму
Початок
Interface1
Formation_of_the_menu
Look1
Formation_of_the_menu1
help
Sound Yes
Sound No
Lavel SY
Lavel SN
0
Кінець
6
2.4.1. Опис головних процедур та функцій
В програмі присутні такі головні процедури :
procedure Makefile;-(процедура перевіряє на наявність
файл,якщо його не існує вона його створює);
PROCEDURE look1;-(дозволяє переглядати файл в
якому знаходяться імена ігреків та їх
результати);
Procedure Formation_of_the_menu(k:integer);-(формує один
пункт меню кольором к)
Procedure Formation_of_the_chars( k:byte);-(будує на
клавіатурі екрані один рядок клавіш з
літерами,літери з масиву констант);
PROCEDURE INTERFACE1;-(титульна сторінка
програми);
procedure minolta(var c11:char);-(розшукує на клавіатурі
клавішу,яка відповідає заданій літері та
“натискає” її.
procedure knopka1(x1,y1,x2,y2:integer;t:string;color:byte);(малює кнопку x1,y1,x2,y2-її координати,t-назва
клавіши;color-її колір);
7
2.5. Опис інтерфейсу
Після запуску програми, перед користувачем з'являється
сторінка екрану на якій написано “TRAINER of the KEYBOARD”цей напис друкується по літерам зі звуком, гравцю пропонується
продовжувати (Enter)або вийти (Exit)з програми, якщо він обирає
перше то йому пропонується зареєструватися, що результату який
він отримає було присвоєно його ім’я. Після цього з’явиться меню
зправа, зліва - ігрове вікно в графічному режимі де будуть рухатися
літери та куди виводиться відповідна інформація після вибору
відповідного пункта меню , справа очки. Меню має чотири пункти “HELP”, “REGISTRATION”, “GAME” та "EXIT" та підменю –
“ Sound yes”, “Sound no”, “Lavel SY”(другий рівень зі звуком),
“Lavel SN”(другий рівень без звука), що з’являється після ви бору
пункта меню “GAME”.
Для руху по меню використовуються стрілки вгору і вниз, для
вибору даного елементу меню користувач повинен натиснути
<ENTER>.
Меню виглядає так:
При виборі “GAME” та “ Sound yes”, починається саме гра, у
ігровому вікні з'являється літери, при спів падінні з натиснутою на
клавіатурі вони зі звуком зникають та відповідна клавіша на
клавіатурі гри затемняється. Для повернення до меню користувач
повинен натиснути <ESC>.
Якщо користувач вибирає "HELP", то у ігровому вікні
з'являється текст допомоги з базовими аспектами керування та
правил гри. Для повернення до меню треба натиснути клавішу
<ESC>.
Якщо вибрати "EXIT", то користувач вийде з гри.
8
2.6. Результати роботи
Типові ігрові ситуації:
4. ЛІТЕРАТУРА
1. Конспект лекцій Швачко Г.Г.
2.С.А. Немнюгин "TURBO PASCAL", Санкт-Петербург, 2001.
3.А.О.Меженный "TURBO PASCAL",2002.
9
10
Автор
chikkepoww
Документ
Категория
Программное обеспечение
Просмотров
24
Размер файла
74 Кб
Теги
kur_zvit_ex
1/--страниц
Пожаловаться на содержимое документа