Гра Хто хоче стати мільйонером

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Кафедра системного аналізу та управління

Курсова робота

За технологією програмування

«Гра 'Хто хоче стати мільйонером?'»

Дубна, 2003

Зміст

1. Введення

2. Постановка завдання

3.Теоретіческая частина

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

5. Блок-схема основної програми

6. Блок-схема додаткової процедури7

7. Лістинг програми

8. Висновок

9. Список літератури

1. Введення

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

2. Постановка завдання

Розробити гру-аналог відомої телевізійної передачі "Хто хоче стати мільйонером?" З використанням програмного середовища Visual Basic і засобів об'єктно-орієнтованого програмування.

3.Теоретіческая частина

При написанні програми я користувався такими елементами, як Form, TextBox, CommandButton, Line, ListBox, Label, Image.

Об'єкт Form при організації проекту форма дається за замовчуванням. Її немає на стандартній панелі управління. Однак форма також є об'єктом, у неї є свій набір властивостей і подій. На панелі управління є піктограма Add Form, що додає в проект ще одну форму, а не створюючи новий.

Для об'єкта CommandButton про переважно спеціалізуються подія, пов'язана з ним, це Click (). Після клацання певні дії, пов'язані з цією кнопкою, будуть досконалі негайно. З кнопками пов'язані не тільки події, а й властивості. У даній програмі ми використовували властивість Enabled - робить кнопку або активною, або неактивній. Дана властивість може приймати два значення - True або False. Також є властивості, що відповідають за положення кнопки на екрані - властивості Top, відстань між верхньою стороною об'єкта і верхньою межею контейнера, його містить, і Left, відстань між лівою стороною об'єкта лівої кордоном контейнера, його містить.

Об'єкт TextBox служить для висновку, введення і редагування тексту. Для цього поля можна задавати різні шрифти, розміри букв, кольору, обмежувати кількість вводяться букв. За замовчуванням це поле містить один рядок тексту, проте цей режим можна змінити на багаторядковий. Також елемент має властивості Top, Left, описаними вище для елемента CommandButton; властивістю ForeColor, що відповідає за колір вводяться букв.

Об'єкт Line використовувався в моїй програмі для різних оформлювальних цілей. Має властивості BorderColor - колір даної лінії, BorderStyle - зовнішній вигляд лінії, BorderWidth - товщина лінії, Visible - видимість об'єкта на формі.

Об'єкт ListBox дозволяє користувачеві вибирати зі списку одне або кілька значень. У будь-який момент до списку можна додати нові значення або видалити існуючі. Якщо список не зможе з'явитися у заданому розмірі об'єкта цілком, то в полі списку автоматично додається смуга прокручування.

Об'єкт Image призначений для відображення малюнків. У нього можна помістити растровий малюнок у форматі bmp, wmf, ico, gif. Можна вибрати режим відображення: або розміри малюнка зміняться до розмірів заданого елемента Image, або елемент Image зміниться до розмірів малюнка. Image не дозволяє малювати і не допускає угруповання об'єктів всередині себе.

Не можна не згадати такі оператори мови, як умовні оператори IF і CASE, оператори циклу WHILE і FOR. Оператор IF реалізує алгоритм конструкції розвилка і змінює порядок виконання операторів залежно від істинності чи хибності деякої умови. За допомогою оператора CASE можна вибирати варіант дії з будь-якої кількості варіантів умов. Оператор циклу WHILE організовує виконання циклу, що складається з будь-якого числа операторів, з невідомим заздалегідь числом повторень. Вихід з циклу здійснюється при хибності деякого логічного виразу. Оператор циклу FOR організовує виконання групи операторів певне число разів. У моїй програмі використовується також процедура Open ... For для відкриття файлу для читання.

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

Моя програма починається з поява основного вікна, в якому відбуваються всі основні дії. Спочатку користувачеві пропонується ввести його ім'я, після чого починається сама гра. Задається питання і пропонується 4 варіанти. Питання випадковим чином вибирається з чотирьох можливих. Варіанти відповіді також беруться з файлу і відображаються в списку з чотирьох елементів. Також відображається сума, яку гравець отримує в результаті правильної відповіді. У разі правильної відповіді, гравцеві задається наступне питання. У міру наближення до 15 питання, гравець набирає очки. Існують дві "вогнетривкі" суми, що дорівнюють 1000 і 32000. Означають, що якщо гравець набрав цю суму, то у випадку подальшого неправильної відповіді, він отримує цю суму, а не йде ні з чим. Якщо гравець відповідає неправильно, то він програє, видається повідомлення із зазначенням виграної суми. Для полегшення процесу гри існують три підказки - 50 на 50, дзвінок другу, допомога залу. Перша підказка, 50 на 50, прибирає з варіантів відповіді два неправильних. Друга, дзвінок другу, видається користувачеві передбачуваний правильну відповідь. Третя, допомогу залу, імітує опитування глядачів з метою виявлення варіанту, який набрав більшу кількість голосів. Кожна підказка може бути використана один раз в процесі гри. Коли гравець відповідає правильно на останній п'ятнадцятий питання, він вважається переможцем і отримує 1000000 очок, видається повідомлення про перемогу.

Також є можливість допомоги гравцеві з метою розібратися з інтерфейсом програми. При натисканні кнопки "Допомога" з'являється нове вікно, де вказані опису всіх присутніх в грі елементів. Що має полегшити розуміння процесу гри.

Зовнішній вигляд форми представлений на Рис.1. Так само на малюнку вказані пояснення до основних елементів інтерфейсу гри.

Рис.1. Вид робочої форми

5. Блок-схема основної програми


7. Блок-схема додаткової процедури

Блок-схема алгоритму процедури, що забезпечує в грі підказку "50 на 50".

8. Лістинг програми

Sub GameQuestions (AnswerIsCorrect As Integer)

Dim Questions (1 To 15, 1 To 4) As String

Dim QuestionsMoney (1 To 15) As Long

Dim Answers (1 To 15, 1 To 4) As String

Dim Answer (1 To 4) As String

Dim AnswersRight (1 To 15) As String

Dim ChooseAnswer (1 To 4) As String

Dim I As Integer, J As Integer, Imass As Integer, Jmass As Integer

Dim np As Integer, fp As Integer, Score As Long, Unburned As Long

Dim BuferSTR As String

Randomize

If AnswerIsCorrect = 2 Then

I = 1

End If

If AnswerIsCorrect = 1 Then

I = LabelQuestionI.Caption + 1

End If

If I = 0 Then

WinLooseLine1.Visible = 1

WinLooseLine2.Visible = 1

WinLooseLine3.Visible = 1

WinLooseLine4.Visible = 1

LabelWinLoose.Visible = 1

LabelWinLoose.Caption = "Ви відповіли невірно! Ваш виграш: "& LabelUnburned.Caption &" грошей! "

I = 1

EndGame 0

End If

If I = 16 Then

WinLooseLine1.Visible = 1

WinLooseLine2.Visible = 1

WinLooseLine3.Visible = 1

WinLooseLine4.Visible = 1

LabelWinLoose.Visible = 1

LabelWinLoose.Caption = "Вітаю," & TextNameInput.Text & ", ви виграли мільйон грошей! "

Score = 1000000

LabelScoreTitle.Caption = Score

LabelScore.Caption = Score

EndGame 0

Else

J = Rnd * 3 + 1

Open "C: \ VB \ KursKY \ quemon.txt" For Input As # 1

For Imass = 1 To 15

Line Input # 1, BuferSTR

QuestionsMoney (Imass) = BuferSTR

Next Imass

Close # 1

Open "C: \ VB \ KursKY \ que.txt" For Input As # 1

For Imass = 1 To 15

For Jmass = 1 To 4

Line Input # 1, BuferSTR

Questions (Imass, Jmass) = BuferSTR

Next Jmass

Next Imass

Close # 1

Open "C: \ VB \ KursKY \ answ.txt" For Input As # 1

For Imass = 1 To 15

For Jmass = 1 To 4

Line Input # 1, BuferSTR

Answers (Imass, Jmass) = BuferSTR

Next Jmass

Next Imass

Close # 1

Open "C: \ VB \ KursKY \ answrig.txt" For Input As # 1

For Imass = 1 To 15

Line Input # 1, BuferSTR

AnswersRight (Imass) = BuferSTR

Next Imass

Close # 1

BuferSTR = AnswersRight (I)

np = 1

fp = 1

ChooseAnswer (1) = SplitAnswers (np, BuferSTR, 0)

np = np + Len (ChooseAnswer (1)) + 1

ChooseAnswer (2) = SplitAnswers (np, BuferSTR, 0)

np = np + Len (ChooseAnswer (2)) + 1

ChooseAnswer (3) = SplitAnswers (np, BuferSTR, 0)

np = np + Len (ChooseAnswer (3)) + 1

ChooseAnswer (4) = SplitAnswers (np, BuferSTR, 1)

If AnswerIsCorrect = 1 Then

Score = QuestionsMoney (I - 1)

LabelScore.Caption = Score

If Score = 1000 Or Score = 32000 Then

Unburned = Score

LabelUnburned.Caption = Unburned

End If

End If

LabelQuestionI.Caption = I

LabelQuestionJ.Caption = J

QuestionNumber.Caption = "Питання" & I & "|" & QuestionsMoney (I) & "грошей"

LabelScoreTitle.Caption = "Рахунок:" & Score

LabelQuestion.Caption = Questions (I, J)

BuferSTR = Answers (I, J)

np = 1

Answer (1) = SplitAnswers (np, BuferSTR, 0)

np = np + Len (Answer (1)) + 1

Answer (2) = SplitAnswers (np, BuferSTR, 0)

np = np + Len (Answer (2)) + 1

Answer (3) = SplitAnswers (np, BuferSTR, 0)

np = np + Len (Answer (3)) + 1

Answer (4) = SplitAnswers (np, BuferSTR, 1)

AddItemsToList Answer (1), Answer (2), Answer (3), Answer (4)

Choose1.Caption = Answer (1)

Choose2.Caption = Answer (2)

Choose3.Caption = Answer (3)

Choose4.Caption = Answer (4)

ChooseRight.Caption = ChooseAnswer (LabelQuestionJ.Caption)

End If

End Sub

9. Висновок

Мною була написана програма на мові програмування Visual Basic, були використані методи об'єктно-орієнтованого програмування, також використовувалася робота з файлами. Програма дозволяє гравцеві перевірити свої знання в абсолютно різних областях.

10. Список літератури

  1. Мазний Г.Л., Прогулова Т.Б. Методичний посібник до курсового проектування з вищої математики та інформатики. - Дубна: Міжнародний університет природи, суспільства і людини "Дубна", 1996.

  2. О. І. Мельникова, А. Ю. Бонюшкіна. Навчальний посібник по Технології програмування. - Дубна: Міжнародний університет природи, суспільства і людини "Дубна", 2001.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
28.4кб. | скачати


Схожі роботи:
Лімерік неперекладна гра слів або переказується гра форми
Хто є хто на ринку пейджерів
Як не стати жертвою злочину
Ви готові стати лідером
Особлива стати і формула Росії
Булгаков м. а. - А частина тієї сили що вічно хоче зла і вічно чинить благо
Булгаков м а я частина тієї сили що вічно хоче зла і вічно чинить благо
Сім способів стати спамером помилково
Як не стати жертвою комп`ютерного злочину
© Усі права захищені
написати до нас