Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Гра Що?Де?Коли? на Паскалі

РефератДопомога в написанніДізнатися вартістьмоєї роботи

Написання програми вестимемо спадним методом, поступово уточнюючи завдання. І тому розіб'ємо завдання написання програми сталася на кілька подзадач. Потім розробимо їх алгоритми і реалізуємо у вигляді окремих підпрограм (процедур чи функцій). Здебільшого тілі програми організуємо промальовування меню, у якому перераховуються можливі дії за їхніми коду викликаються відповідні їм подпрограммы… Читати ще >

Гра Що?Де?Коли? на Паскалі (реферат, курсова, диплом, контрольна)

ЗАПРОВАДЖЕННЯ 3.

1 Варіант завдання. 5.

2 Опис завдання 6.

3 Структури даних 8.

4 Опис програми. 10.

4.1 Загальні відомості. 10.

4.2 Функціональне призначення. 10.

4.3 Опис логічного структури програми. 10.

5 Розробка алгоритмів програми. 11.

6 Опис роботи основного модуля програми 18.

7 Керівництво користувача. 20.

8 Керівництво системного програміста. 21.

9 Результати налагодження програми. 22.

Укладання 23.

Література 24.

Будь-яка програма повинна взаємодіяти з периферійними пристроями самого персонального комп’ютера, зокрема з дисплеєм. Таке взаємодія складає трьох рівнях, які впливають продуктивність і мобільність програм лише на рівні ОС програма звертається до влаштуванню через системне обслуговування. Такий спосіб забезпечує максимальну мобільність програми, але призводить до її мінімальної продуктивності. З іншого боку, операційна система MS DOS немає графічного интерфейса.

Програма може взаємодіяти з пристроями графічного виведення інформації з допомогою базової системи введення / виведення. Такий спосіб має досить високий мобільність і прийнятну продуктивність. Проте графічні можливості базової системи введення / виведення ограничены.

У персональні комп’ютери фірми IBM програмістам надано можливість і прямого управління пристроєм через їх регістри. У межах даної курсової роботи операції з графічним інтерфейсом будемо провести з допомогою графічного пакета мови програмування Turbo — Pascal. Оператори дозволяють визначати характеристики драйвера, режим його роботи і відповідно налаштувати графічний пакет, команди переходу від графічного режиму текстовому і навпаки. Основна група графічних операторів, безпосередньо здійснюють висновок графічних примітивів (точок, ліній, ламаних, окружностей) на екран графічного дисплея. Також є оператори, дозволяють встановлювати параметри промальовування графічних примітивів (колір, товщина, тип лінії). Є оператори для визначення параметрів графічних примітивів, які можна встановлено на основі вмовчанням. Один і хоча б графічний помітивши то, можливо намальований на екрані з різних установок: колір, тип лінії, тип штрихування. Внесені в палітру зміни негайно відбиваються на экране.

Також є процедури висновку текстовій інформації та встановлення параметрів текстового вывода.

У графічному режимі програма оперує кольором кожного пиксела. Благородя цьому, з’являються можливості побудови на екрані складних зображень, забарвлення різноманітних галузей екрана, формування рухомих объектов.

Але ці можливості значно ускладнюють програмування і знижують продуктивність самого персонального комп’ютера. Про це свідчить просте порівняння обсягів інформації, із якими випадає працювати у текстовому і графічному режимах. Приміром у разі 16-ти кольорового графічного режиму з роздільну здатність 640*350 пікселів необхідний обсяг видеобуфера збільшується до 112 000 байт.

Метою курсового проектування є розробка програми що імітував гру «Что?Где?Когда?». У процесі проектування слід розглянути існуючі графічні примітиви, вивчити роботи з графічними модулями. Основною метою використання програми є розробка її як тренажера.

1 Варіант задания.

Скласти програму, моделюючу гру «Что?Где?Когда?». І тому програма повинна відобразити на екрані ігрове полі рулетки із зазначенням цифр секторів і квітів, і навіть величини ставок кожному за сектора. Для кожного сектора зі Світового банку питань випадково вибирається питання, складність якого пропорційна ставке.

У результаті гри випадково вибирається номер сектора, і видається текст відповідного питання. У цьому питання формулюється отже на нього передбачено чітку й ясний відповідь. У процесі гри фіксується суми вірних і невірних відповідей та суми выигрышей.

2 Опис задачи.

Слід зазначити, що побудови даного завдання творче, і формалізація його досить скрутна. Спочатку розділимо завдання побудови даних графічних примітивів на 2 подзадачи, відповідно до трактуванням подібного задания:

1 побудови БД із запитаннями та їх випадковим вибором, і чередованием;

2 заповнення графічного екрана геометричними постатями різної форми і циклічного обертання їх за колу, імітуючи обертання трубки калейдоскопа і переміщення у ній різнобарвних геометричних элементов.

Для побудови графічних примітивів слід визначити координати центру графічного екрану й його максимальні координати по осі абсцис і по осі ординат.

[pic].

Малюнок 1 Графічні координаты.

Отже координати центру екрану і центру будь-якого графічного вікна можна знайти по формуле:

[pic].

Для організації ігрового поля слід визначити такі координати: 1. [pic] - координати прямокутникаграфічного екрана; 2. [pic] - координати центру круглого ігрового столу 3. [pic] - радіус окружності, описаної з єдиного центру примітиву і що проходить через координати прямокутника. 4. 0,0,X0,Y0 — рамка з рахунком игры.

І тут ігрове полі прийме вид:

[pic].

Малюнок 2.

3 Структури данных.

Для зберігання описаної раніше інформації треба сказати різнорідність даних, які потрібно зберігати. Робота програми слід розробити уніфіковану всім тестів структуру зберігання информации.

Найбільш зручною формою зберігання різнорідних даних є тип структура (запис). У мові Borland Pascal 7.0 вона позначається так.

: record.

: ;

: ;

——————————————————————;

:; end;

Для зберігання даних у програмі використовуємо такі структури данных:

Trec_TST = record use: integer; name: string; {_найменування питання} ans: string; {_найменування відповіді} end;

Trec_YN = record use: integer; name: string; {_найменування питання} ans_int: integer; { відповідь Y/N} end;

Trec_USR = record name: string; {_найменування питання} psw: string; {_найменування відповіді} ans_am: integer; {_найменування відповіді} end;

Відповідно до [1], поля може бути різного типу, й вони групуються під назвою записи. Як будь-який скалярний тип.

Для введення таких полів як «Найменування» досить 255 символів. Отже використовуватимемо тип String. З наявної інформації складемо структуру даних: |Назва поля |Примітка | |Name |Питання | |Ans |Відповідь | |Ans_RTIME |Відповідь на кшталт да/нет |.

Таблиця 1.

4 Опис программы.

1 Загальні сведения.

Аби вирішити поставленого завдання, її найбільш трудомісткою частини -введення і зберігання списку питань тестів. Його реалізуємо мовою Borland Pascal 7.0 під операційну систему MS-DOS. Ця ОС найбільше придатний для вирішення аналогічних завдань і шляхом створення програмного забезпечення здатного виконувати завдання для роботи зі структурами даних, і запис їхніх в файл.

2 Функціональне назначение.

Програма варта розв’язання цілком конкретної завдання, описаної раніше. У ньому застосовуються оптимальні методи зберігання даних в файлах в двоичном вигляді. З її допомогою можна вирішити завдання досить великий розмірності - зберігати довгі списки питань. Зберігання питань у текстовому вигляді, а чи не в двоичном форматі дає додаткову на редагування списку вопросов.

Програма повинна підтримувати роботу у 2 режимах: введення даних; видача результатів за зазначеними запросам.

3 Опис логічного структури программы.

Написання програми вестимемо спадним методом, поступово уточнюючи завдання. І тому розіб'ємо завдання написання програми сталася на кілька подзадач. Потім розробимо їх алгоритми і реалізуємо у вигляді окремих підпрограм (процедур чи функцій). Здебільшого тілі програми організуємо промальовування меню, у якому перераховуються можливі дії за їхніми коду викликаються відповідні їм подпрограммы.

5 Розробка алгоритмів программы.

Розділимо завдання сталася на кілька подзадач. Виділимо такі основні подзадачи: побудова головного меню; організацію введення файла з базою питань; проведення гри; роботи з користувачами (гравцями), їх идентификацию.

Подзадачу проведення гри розділимо ми такі подзадачи: завантаження 12 запитань із списку; побудова ігрового поля; проведення до 12 раундів гри; підрахунок очков.

Розглянемо проведення раунду гри докладніше. Воно складається з подзадач:

1 вибору питання з 12 питань випадковим образом;

2 висновок вмісту питання на экран;

3 введення ответа.

Кожну завдання реалізуємо як окремої, незалежної підпрограми, як параметрів якої будемо передавати необхідні їй дані або використати бодай при цьому глобальні переменные.

Далі розглянемо алгоритм роботи основного меню:

[pic].

Малюнок 3.

Потім розглянемо алгоритм введення нових вопросов:

[pic].

Малюнок 4.

Розглянь алгоритм введення рядки питання відповіді нього подробнее:

[pic].

Розглянемо введення пароля:

[pic].

Малюнок 5 Як бачимо алгоритм введення рядки з туристичною інформацією і введення пароля відрізняється тільки те, що замість введеного символу відображається «*». Ці алгоритми можна реалізувати однієї підпрограмою, запровадивши ознака введеної рядки (пароль /данные).

Розглянемо алгоритм гри подробнее:

[pic].

Малюнок 6.

Розглянемо алгоритм реєстрації подробнее:

[pic].

6 Опис роботи основного модуля программы.

Основним модулем програми є модуль < CGK. EXE >. Спочатку викликаються подпограмма побудови основного меню.

З допомогою натискання користувачем клавіші можна выбрать:

1 введення і доповнення списку вопросов;

2 перегляд заставки правила игры;

3 проведення игры;

4 реєстрація нового пользователя.

При виборі пункту «Проведення игры»:

5 екран обновляется;

6 вибираються з файла 12 питань стосовно 1 за кожен ігровий сектор. Після цього випадково вибирається будь-якій з цих запитань і виводиться внизу экрана;

7 після введення і перевірки правильним відповіддю, відбувається відновлення рахунки і завдання нового питання. Так триває до того часу, поки рахунок не досягне 6 очок із боку гравця, або «Телезрителя».

При виборі пункту «Введення і доповнення списку вопросов»:

8 програма запросить зміст запроса;

9 програма запросить пошук правильної відповіді на него;

10 програма запросить тип питання, чи є він інтерактивним і на інтерактивний вопрос.

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

При виборі пункту «Реєстрація новому користувачеві» програма запросит:

11 ім'я нового пользователя;

12 пароль користувача (запроваджувані символи на екрані не отображаются).

Для полегшення праці та налагодження, існує універсальний пароль для реєстрації у системі. Він необхідний те, що вперше запустити програму і почав її администрировать.

Після запуску програма запросит:

13 ім'я новому користувачеві - слід також запровадити «1»;

14 пароль користувача — слід також запровадити «1».

Після цього виводиться основне меню приложения.

7 Керівництво пользователя.

Після запуску програми для аналізу потрібно виконати такі действия.

1 Дочекатися появи підказки ОС MS DOS наступного вида.

:... .

2 Набрати ім'я виконуваного модуля < CGK. EXE > і запустити його за виконання. Якщо операційна система видала повідомлення про помилку запуску графічної системи, слід перевірити його присутність серед робочому каталозі наявність файла EGAVGA.BGI. Без нього робота програми неможлива. Починається роботу з заставки, після проходження якої програма запросить ініціативу користувача. Після це потрібно зареєструватися. Початкова реєстрація — 1,1. Подальші дії коротко описані у пункті головного меню .

3 Програмою передбачено пріоритети доступу до пункту головного меню: Ім'я реєстрації: admin.

Пароль: OpenAll — повний доступ;

Для guest, guest чи 1,1 — доступ закритий; при введення імені Ілліча та пароля які у файлі реєстрації Usr. ps буде запитано пароль доступу OpenAll.

8 Керівництво системного программиста.

При установці і експлуатації даної програми потрібно мати таке апаратне і системне програмне обеспечение.

1 IBM PC XT/AT сумісний компьютер;

2 Операційну систему MS DOS v 6.22 чи Windows 95 OEM;

3 ОЗУ 640 Кбайт.

Програма складається з файлов:

4 K16. EXE — містить виконуваний модуль программы;

5 K16. PAS — містить основний модуль программы;

— Zast_uni.tpu — модуль заставки;

— CGK_uni.tpu — модуль у якому процедури виведення головного меню, підменю введення питань, реєстрації, довідки, так і безпосередньо самої игры;

6 Usr. ps — файл з переліком зареєстрованих пользователей;

7 Vopr[1.11]. ps — файли з переліком питань відповідної цены;

8 Vopryn. ps -- файл з переліком інтерактивних вопросов;

EGAVGA.BGI — файл, необхідний ініціалізації графічної системы.

Файл EGAVGA. BGI має перебувати у робочому каталозі, наявність файла EGAVGA. BGI перевіряється під час запуску програми. Без нього робота програми невозможна.

9 Результати налагодження программы.

У процесі написання і налагодження знайшли такі ошибки:

— відсутність «;» після операторів (найчастіша ошибка);

— зайва чи відсутня операторная дужка «end»;

— під час роботи в графічному режимі дуже так важко працювала клавиша.

«Backspace» зза неправильного вказівки координат стирання буквы;

— через неузгодженості глобальних змінних не працювало головне меню;

— за умови встановлення синього кольору фону при закрашивании постатей чорним вони набували колір фону (виправили шляхом зміни темно-сірого кольору палітри про чорний і закрашивании цим цветом);

— відбувалося зациклення програми через брак умови виходу з цикла;

Через війну налагодження все помилки були враховані. У процесі налагодження використовувалися всіх можливих методи та найчастіше застосовувалися пошаговый запуск програми (на початкових стадіях розробки) і розстановка точок зупинки в «сумнівних місцях» і перегляд поточного значення використовуваних переменных;

Заключение

.

Програма написана у стилі низхідного проектування, основні завдання було поділено деякі подзадачи і об'єднують у окремий модуль, який за линковке об'єднується із головною модулем і утворить виконуваний модуль программы.

До переваг даної програми можна отнести:

— програма візуально повністю виконано графічному режимі, тому постає перед користувачем у досить благопристойному виде;

— передбачена повний захист від введення зайвих, неразумнодлинных тощо. данных;

— у процесі гри користувачеві надається шанс перевірити знання різноманітні областям знания;

— реалізований интуитивно-понятный інтерфейс в меню і під час введення данных;

— популярність програми забезпечує високого попиту на цього виду программы;

— можливість безпосередньо з програми доповнювати список питань (якщо в них є доступом до цьому пункту меню);

— привлекающе для користувача реалізована заставка (єдина доступна функція за відсутності у користувача імені Ілліча та пароля);

— програма виконано одному стилі, у результаті користувач не втомлюється від себе надлишку сменяющих одне одного палитр;

;

До вад даної програми можна віднести следующее:

1 низька швидкість работы;

2 обмежений набір графічних примитивов;

3 використання стандартного видеорежима VGA, з дозволом 640 на 480 пікселів і палітрою в 16 квітів, замість вищих дозволів (800 на 600 пікселів) і палітри в 256 цветов.

1. Лукач Ю. С., Сибиряков А. Є. Програмно-технічні кошти персональних ЕОМ сімейства IBM PC. Сведловск: Инженерно-техническое бюро. 1990.

2. Нортон П. Персональний комп’ютер фірми IBM і операційна система MS-DOS. М. :Радіо і зв’язок. 1992.

3. Нортон П. Програмно-апаратна організація IBM PC. М. :Радіо і зв’язок. 1992.

4. Фаронов У. У. Турбо Паскаль. М. «Нолидж» 2001.

5. В.С. Новачків, Н.І. Парфилова, О. Н. Пылькин, Алгоритмічні мови в технікумі: Паскаль, М. «Вищу школу» 1994.

6. В.С. Новачків, О. Г. Швечкова Методичні вказівки до курсової роботі: «Конструювання програм», № 2133, Рязань 1993.

7. В.С. Новачків, О. Г. Швечкова, Н.І. Парфилова, О. Н. Пылькин, Методичні вказівки до лабораторним роботам № 6−10: «Реалізація циклічних алгоритмів на Турбо Паскале», Рязань, 1998.

Показати весь текст
Заповнити форму поточною роботою