Реферат по предмету "Информатика, программирование"


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

/>Кафедра системного анализа иуправления
Курсовая работа
По технологии программирования
«Игра ‘Кто хочет стать миллионером?’»

Дубна, 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. Так же на рисунке указаны пояснения к основным элементаминтерфейса игры.
/> /> /> /> /> /> /> />  
/>/>/>/>
Рис.1. />Вид рабочей формы
5.Блок-схема основной программы
/>
/>/>/>/>
/>/>/>/>7. Блок-схема дополнительнойпроцедуры
/> />
Блок-схема алгоритма процедуры,обеспечивающей в игре подсказку “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.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.