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

Разработка игры-аналога телевизионной передачи "Кто хочет стать миллионером?" с использованием программной среды Visual Basic и средств объектно-ориентированного программирования. Описание и листинг программы, составление алгоритма и блок-схемы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.06.2009
Размер файла 253,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

5

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

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

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

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

Дубна, 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. Листинг программы

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. Список литературы

Мазный Г.Л., Прогулова Т.Б. Методическое пособие к курсовому проектированию по высшей математике и информатике. - Дубна: Международный университет природы, общества и человека “Дубна”, 1996.

О.И.Мельникова, А.Ю.Бонюшкина. Учебное пособие по Технологии программирования. - Дубна: Международный университет природы, общества и человека “Дубна”, 2001.


Подобные документы

  • Разработка программы "Виселица" с использованием программной среды Visual Basic и средств объектно-ориентированного программирования: программные требования, описание алгоритма, блок-схема программы и дополнительной процедуры. Листинг программы.

    курсовая работа [188,2 K], добавлен 28.06.2009

  • Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.

    курсовая работа [821,5 K], добавлен 13.02.2012

  • Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.

    курсовая работа [500,4 K], добавлен 13.01.2015

  • Составление блок-схемы алгоритма решения задачи, погрешности вычисления суммы членов числового ряда. Разработка программ на языке на Visual Basic, работа с массивами. Особенности работы со строковыми данными. Варианты реализации формы приложения.

    контрольная работа [220,4 K], добавлен 18.06.2010

  • Особенности визуальной среды программирования Microsoft Visual Studio 2015 Enterprise. Средства объектно-ориентированного программирования. Этапы проектирования программного комплекса. Отладка и тестирование программы игры "Виселица".

    курсовая работа [2,4 M], добавлен 31.01.2016

  • Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры "пинбол" с помощью императивного программирования в среде Microsoft Visual Basic.

    курсовая работа [428,9 K], добавлен 19.09.2012

  • Сущность основных понятий объектно-ориентированного программирования: объект, класс, полиморфизм. Блок-схема алгоритма и текст программы для вычисления площади круга, прямоугольника и трапеции. Принцип работы и результаты тестирования приложения.

    курсовая работа [588,7 K], добавлен 17.07.2012

  • Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.

    курсовая работа [1,0 M], добавлен 26.12.2013

  • Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.

    контрольная работа [989,9 K], добавлен 29.03.2011

  • "Точки" как игра на бумаге в клетку, в которой участвуют от двух и более человек, знакомство с правилами. Рассмотрение особенностей реализации игры "Точки" на любом из объектно-ориентированных языках программирования. Этапы развития Visual Basic.

    курсовая работа [554,5 K], добавлен 15.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.