Реферат: Игра "Кто хочет стать миллионером?"

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

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

По технологии программирования

«Игра ‘Кто хочет стать миллионером?’»


Дубна, 2003


Оглавление

 

1. Введение

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

3.Теоретическая часть5

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

5. Блок-схема основнойпрограммы9

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. Так же на рисунке указаны пояснения к основным элементаминтерфейса игры.


/> /> /> /> /> /> <td/> /> />  
/>/>/>/>

Рис.1. />Вид рабочей формы


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

/>

/>/>/>/>
/>/>/>/>7. Блок-схема дополнительнойпроцедуры
/> <td/> />
Блок-схема алгоритма процедуры,обеспечивающей в игре подсказку “50 на 50”./>/>/>/>

/>/>/> 


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

 SubGameQuestions(AnswerIsCorrect As Integer)

 DimQuestions(1 To 15, 1 To 4) As String

 DimQuestionsMoney(1 To 15) As Long

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

 Dim Answer(1To 4) As String

 DimAnswersRight(1 To 15) As String

 DimChooseAnswer(1 To 4) As String

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

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

 Dim BuferSTRAs String

 Randomize

 IfAnswerIsCorrect = 2 Then

            I= 1

            EndIf

 IfAnswerIsCorrect = 1 Then

            I= LabelQuestionI.Caption + 1

            EndIf

 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 = 16Then

      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

      EndGame0

 Else

 J = Rnd * 3 +1

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

 For Imass = 1To 15

 Line Input#1, BuferSTR

 QuestionsMoney(Imass)= BuferSTR

 Next Imass

 Close #1

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

 For Imass = 1To 15

 For Jmass = 1To 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 = 1To 15

 For Jmass = 1To 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 = 1To 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)

IfAnswerIsCorrect = 1 Then

            Score= QuestionsMoney(I — 1)

            LabelScore.Caption= Score

            IfScore = 1000 Or Score = 32000 Then

              Unburned= Score

              LabelUnburned.Caption= Unburned

              EndIf

            EndIf

 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)

 AddItemsToListAnswer(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.

еще рефераты
Еще работы по информатике, программированию