Программирование
Веб программирование

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

 
 

Всем привет! В этой статье я расскажу как создать свою игрушку. Создавать будем игровой автомат.

Итак, приступим!

Открваем VB.NET и создаем новый проект Windows Application.

Кидаем на форму три лейбла и задаем им такие свойства:

Text - 0

Font->Size - 72

Кидаем кнопку и в свойтве Text пишем - "Крутить"

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

Теперь напишем код. Объявим глобальные переменные типа byte:

Public count1,count2,count3 as byte

Они буду использоваться для подсчета количетсва оборотов каждой цифры автомата.

Код для кнопки Крутить:

count1 = 0
count2 = 0
count3 = 0
Timer1.Interval = 70
Timer2.Interval = 70
Timer3.Interval = 70
Timer1.Start()
Timer2.Start()
Timer3.Start()

В этом коде мы обнуляем переменные и активируем таймеры.

Код для самих таймеров:

Timer1:

Dim r As New Random
Label1.Text = r.Next(1, 4).ToString
count1 += 1
If count1 = 15 Then Timer1.Stop()

В этом коде происходит рандомная  генерация цифр для первого лейбла. 

Давтайте разберем этот код попоробднее:

Dim r As New Random - Объявляем рандомайзер

Label1.Text = r.Next(1, 6).ToString -  генерируем рандомное число от 1 до 4 и выводим его в лебл1

count1 += 1 - прибавляем к счетчику 1

If count1 = 15 Then Timer1.Stop()  - если счетчик равен 15, то выключаем таймер т.е во время работы таймера будут 15 раз генерироваться рандомные числа. Если например поставить 150, то ждать вы будете очень долго=)

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

Аналогичный код для Timer2 и Timer3

Timer2:

Dim r As New Random
Label2.Text = r.Next(1, 4).ToString
count2 += 1
If count2 = 15 Then Timer2.Stop()

Timer3:

Dim r As New Random
Label3.Text = r.Next(1, 4).ToString
count3 += 1
If count3 = 15 Then Timer3.Stop()

На этом все! Исходник можно скачать в разделе исходники, или тут


Есть вопросы? Спроси на нашем форуме!!
Release [08.04.2012 17:02]

;) сделай с картинками, так вобще отлично будет

Дмитрий [01.08.2012 16:39]

Прикольно, но в игровых автоматах не такой Random, в них мало кто выигрывает, там все так:
Dim R As New Random
If R.Next(1, 950) > 945 Then
Только в таком случае кто-то может выиграть, но это очень редко. =)

nikitoza11 [25.08.2012 11:41]

А у меня не идёт пишет что ошибка.вот код

Public sceot1, sceot2, sceot3 As Byte

sceot1 = 0
sceot2 = 0
sceot3 = 0
Clock1.Interval = 70
Clock2.Interval = 70
Clock3.Interval = 70
Clock1.Start()
Clock2.Start()
Clock3.Start()

Dim q As New Random
Label1.Text = q.Next(1, 9).ToString
sceot1 += 1

If sceot1 = 15 Then Clock1.Stop()



Dim q As New Random
Label2.Text = q.Next(1, 9).ToString
sceot2 += 1

If sceot2 = 15 Then Clock2.Stop()


Dim q As New Random
Label3.Text = q.Next(1, 9).ToString
sceot3 += 1

If sceot3 = 15 Then Clock3.Stop()



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.