СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Исследовательская работа "Создание игрового автомата"

Категория: Информатика

Нажмите, чтобы узнать подробности

Исследовательская работа по созданию игрового автомата с помощью Visual Basic

Просмотр содержимого документа
«Исследовательская работа»

МУНИЦИПАЛЬНОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

«КОЗЛОВСКАЯ СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА №2»










Создание игрового автомата в системе программирования Visual Basic







ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА

НА I I -Ю ШКОЛЬНУЮ НАУЧНО-ПРАКТИЧЕСКУЮ

КОНФЕРЕНЦИЮ «СПЕШУ ПОДЕЛИТЬСЯ»












АВТОР: Аполлонов Александр, 11а класс

РУКОВОДИТЕЛЬ: Сорокина С.В., учитель информатики




г. Козловка, 2012



ОГЛАВЛЕНИЕ:



  1. Вступление……………………………………………….……3

  2. Цель и задачи……………………………………………….….4

  3. История азартных игровых автоматов……………………….5

  4. Как создать игровой автомат …………...…………………....7

    1. Изучение основ программирования на Visual Basic………7

    2. Создание графического интерфейса………………….…..8

    3. Создание программного кода…………………………….9

  5. Заключение……………………………………………….……10

  6. Список литературы………………………………………..…..11

  7. Приложение 1(Листинг программы)…………………………12

  8. Приложение 2(Программа - имитатор игрового автомата)




































Вступление

Поклонники азарта существовали всегда и постоянно, и не перевелись и в наши дни. Среди азартных игр самыми популярными являются игровые автоматы онлайн, или же игровые автоматы для тех, кто любит саму атмосферу казино.

Игровые автоматы отличаются от других азартных игр, тем, что кроме приятного визуального и звукового оформления, вы можете также наслаждаться увлекательными сюжетными линиями слотов. Кроме того, в отличие от таких игр, как покер и рулетка, играя в которые, вы находитесь в постоянном напряжении, пытаясь придерживаться определенной стратегии и контролировать свои действия, игра в игровые автоматы просто приносит удовольствие.

Для многих людей, попавших под игровую зависимость, но еще не до конца потерявших и не утопивших свой рассудок в азартных развлечениях появлялись мысли: вот бы играть, но при этом не тратить деньги...

И вот в середине 2000-х на рынок игровой индустрии для персональных ПК начали появляться на свет сборники азартных игр в виде эмуляторов казино и эмуляторами реальных игровых автоматов, которые когда - то любой азартный человек мог встречать в казино или игровых клубах. Купив за символическую сумму данный продукт, можно установить эту игру на свой ПК и реально окунуться в мир азартных игр, но что самое главное, не тратя на эти азартные увлечения ни одной копейки.

Меня посетила следующая мысль: а можно ли это – создать свой игровой автомат. Меня привлек язык Visual Basic, особенно его объектно-ориентированные возможности. Этот язык достаточно прост в изучении и не требует больших ресурсов от компьютера.

Игра будет более интересной, если она интерактивна.













Цель:

Создать несложный интерактивный игровой автомат.

Задачи:

  1. Изучить историю азартных игровых автоматов.

  2. Изучить основы языка программирования Visual Basic.

  3. Создать интерактивный графический интерфейс.

  4. Записать программные коды.

  5. Проверить работу созданного проекта.



История азартных игровых автоматов

В самый первый игровой автомат играли в 1895. Именно тогда он был создан человеком по имени Август Фей (August Fey) в США в Сан-Франциско (штат Калифорния) и носил название Liberty Bell, что в переводе с английского означает Колокол Свободы. Игровой автомат состоял всего из трёх вращающих барабанов (в то время, когда сейчас их на порядок больше) и был оформлен в виде карточных мастей. Пики, бубны, черви и крести, а также тот самый Колокол (Свободы) были изображены на вращающихся барабанах.


Самый первый игровой автомат под названием Колокол Свободы.


Для получения самого большого выигрыша надо было, чтобы на барабанах после окончания их вращения выпало три одинаковых символа. Если выпадало 3 Колокола (той самой Свободы) то это считалось самым большим успехом и давало максимальный выигрыш!

Игровой автомат Колокол Свободы быстро обрёл популярность среди азартных игроков и побудил к созданию других автоматов, но с той же целью - выигрыша и забавы. Стали появляться и другие различные слоты, как с карточными мастями, так и без них.

Однако с самого начала появления игровых автоматов на деньги им постоянно приходилось доказывать своё право на существование, поскольку каждый год в США издавались законы о их запрещении из-за своей азартности.

Естественно, хозяевам заведений, где слоты являлись неотъемлемой частью интерьера (кафе, бар, магазин), не хотелось с ними расставаться, поскольку те приносили вполне ощутимый доход, поэтому им пришлось идти на различного рода уловки. Так появились различные виды слот-машин, которые вместо денег давали конфеты, либо жевательные резинки. Сейчас же можно выигрывать деньги, играя в игровые автоматы в онлайн режиме, вооружившись только клавиатурой, мышкой и парой-тройкой sms сообщений.

Принято считать, что игровые автоматы изначально были установлены в казино с целью отвлечь женщин, которые составляли компанию игрокам-мужчинам, от своих спутников, и позволить им спокойно играть в карточные игры.

С
егодня ситуация полностью изменилась: 70% доходов казино приносят именно они, равно популярные как среди мужчин, так и женщин. И похоже на то, что слот-машины не собираются сдавать своих позиций, а лишь набирают темпы популярности. Другие названия игровых автоматов – слоты, однорукие бандиты, игровые машины, слот-машины, игровые эмуляторы.

Игровые автоматы прошли довольно долгий путь технической эволюции, превратившись из простых и незатейливых механизмов в виртуальные игры с различными дополнительными возможностями. Несмотря на то, что технически они постоянно совершенствуются, принцип их работы остаётся неизменным.

Многие почему-то считают, что игровые автоматы способны самостоятельно выбирать, какой из символов должен выпасть на барабане, таким образом, уменьшая вероятность выигрыша, однако на современных слот машинах это исключено. К азартным играм относятся те, выигрыш в которых почти цели­ком зависит от случая, и очень мало - от искусства игрока.

В современных игровых автоматах и рычаг сбоку, и барабаны служат лишь для украшения и развлечения игроков. То положение, в котором останавливается барабан, зависит от того, как сработает генератор случайных чисел (ГСЧ), который включен в программное обеспечение современного игрового автомата.

ГСЧ непрерывно выдаёт случайные числа со скоростью сотен — тысяч чисел в секунду. Новое случайное число для определения результата игры используется, как только игрок нажал кнопку «Игра» или нажал на рычаг. Таким образом, становится понятно, что результат игры определяется именно в процессе. И если б Вы нажали кнопку на секунду раньше, или на секунду позже, итог игры был бы совершенно иным.

Создание игрового автомата

Процесс создания любого приложения можно разбить на несколько стадий:

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

  2. Программирование

    1. Создание интерактивного графического интерфейса

    2. Разработка алгоритма

    3. Запись программного кода

  3. Отладка проекта


Передо мной стояла задача: создать интерактивное приложение, которое выдаёт случайным образом три числа, и в зависимости от выполнения некоторых условий, производит какие-то действия.

Для реализации проекта я изучил основы программирования на Visual Basic. Мне понадобились следующие знания

В системе программирования Visual Basic общение с пользователем можно организовать с помощью функций ввода и вывода:

    1. Специального диалогового окна InputBox

    2. Специального всплывающего окна сообщений Msgbox

Ввод и вывод данных осуществляется в текстовые окна TextBox.

Формат генератора случайных чисел имеет вид: Rnd(x), где х – целое число. При выполнении функции её результатом становится число в диапозоне от 0 до х. Если нужны только целые числа, то нужно добавить функцию Int .

Программный код ветвления реализуется конструкцией:

If условие Then оператор1 Else оператор2. Это строчная форма, в которой операторы разделяются знаком «:». Существует и блочная форма записи, когда операторы после Then записываются в последующих строках. Только блок операторов должен заканчиваться логическим концом End If.


Интерфейс приложения: три текстовых окна для генерируемых чисел, текстовое поле для ввода ставки, текстовое поле для денег, управляющая кнопка Играть.

Словесное описание алгоритма:

  1. Вывести диалоговое окно, чтобы игрок ввёл своё имя.


  1. Вывести окно сообщений с правилами игры.

  1. Вывести диалоговое окно, чтобы игрок ввёл размер ставки.

  2. Сгенерировать три числа и вывести в текстовые окна.

  3. Сравнить числа между собой. Если два из них совпали, то ставку увеличить в 2 раза и прибавить к деньгам. Если совпало три числа, то ставка увеличивается в 100 раз. Если числа не совпали, то ставка вычитается из денег.

  4. Закончить игру, если денег не осталось.


На следующем этапе я стал записывать программный код для управляющей кнопки. Листинг программы в полном объёме привожу в Приложении 1. Много времени ушло и на то, чтобы отладить программу.

















Заключение

Итак, подводя итог, я хочу сказать, в чем же заключался смысл моей работы.

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

В играх в игровые автоматы принимают участие человек и машина, которая работает автоматически и вероятность выигрыша к мастерству игрока не имеет никакого отношения. Так что оставьте математику и статистику, она вам вряд ли поможет. Генератор случайных чисел выдает случайные числа с очень большой частотой (скорость в секунду может быть от нескольких тысяч до миллионов). После того, как игрок нажимает кнопку начала игры, то результат определяется самым последним случайным числом. Т.е. итог игры зависит от того, когда именно началась игра. Каждую долю секунды результат различен.

Но как же добиться успеха при игре на онлайн-игровых автоматах?

Первое, что вам следует учитывать, это то, что выигрыши и проигрыши идут полосами.




















Список Интернет-ресурсов и литературы

  1. http://libsib.ru/igorniy-biznes/mir-azartnich-igr/klassifikatsiya-igr-osnovnie-ponyatiya-i-termini

  2. http://www.bestslots.ru/slot-new.php

  3. http://www.fortuneofslots.com/

  4. http://casinovulkan.com/slots.html

  5. Максимов Н.А. «Азбука программирования на Visual Basic» Практикум. Чебоксары, 2007-64 с.
































Приложение1

Private Sub Command1_Click()

If Text4.Text = "" Then Text4.Text = InputBox("Введите ставку")

If Text4.Text = "" Then Text4.Text = 0

If Text4.Text

If Text4.Text

Text1.Text = " "

Text2.Text = " "

Text3.Text = " "

If Text1.Text = Text2.Text Then Text5.Text = Text5.Text + Text4.Text * 2

If Text1.Text = Text3.Text Then Text5.Text = Text5.Text + Text4.Text * 2

If Text2.Text = Text3.Text Then Text5.Text = Text5.Text + Text4.Text * 2

If Text1.Text Text2.Text And Text1.Text Text3.Text Then Text5.Text = (Text5.Text - Text4.Text)

If Text1.Text = Text2.Text And Text1.Text = Text3.Text Then Text5.Text = Text5.Text + Text4.Text * 100

If Text5.Text

If Text5.Text

End Sub


Private Sub Form_Load()

a = (InputBox("Введите ваше имя"))

MsgBox (" Здравствуйте, ") & a & (", если вы хотите сыграть в приложение Игровые автоматы, то ознакомьтесь, пожалуйста, с правилами"), vbOKOnly, "Приветствие"

MsgBox ("Если выпадает 2 одинаковых числа, то ваши поставленные деньги увеличиваются в два раза. Если выпадает 3 одинаковых числа, то ваши поставленные деньги увеличиваются в 100 раз. Если цифры не совпадают, то ваши поставленные деньги сгорают."), vbOKOnly, "Правила"

End Sub


Private Sub Text1_Change()

Text1.Text = CInt(9 * Rnd + 1)

End Sub



Private Sub Text2_Change()

Text2.Text = CInt(9 * Rnd + 1)

End Sub


Private Sub Text3_Change()

Text3.Text = CInt(9 * Rnd + 1)

End Sub


13