Бросание игральной кости на VBA

Функция Rnd возвращает значение, которое меньше 1, но больше или равно нулю.

Cпособ генерации случайного числа в функции Rnd определяется значением параметра Number.

Для любого заданного начального числа генерируется одна и та же последовательность чисел, поскольку при каждом последующем вызове в функции Rnd при генерации следующего числа последовательности в качестве начального испол

ьзуется ранее сгенерированное число.

Перед вызовом Rnd для инициализации генератора случайных чисел с начальным значением на основе системного таймера воспользуйтесь оператором Randomize без указания аргументов.

Select Case Кость

Case 1

‘Выполняет один из блоков операторов в зависимости от значения выражения. Обязателен в операторе Case. Список возможных значений для testexpression

Image1.Picture = LoadPicture("\1.bmp")

’Загружаем рисунок

Label1.Caption = Label1.Caption + 1

Case 6

Image1.Picture = LoadPicture("6.bmp")

Label6.Caption = Label6.Caption + 1

‘Если выпала шестерка, то увеличить счетчик

End Select

Loop

If stav = Кость Then

‘Оператор условного перехода — одни из самых важных и часто используемых элементов в языках программирования. Общий принцип их работы прост: проверяется соответствие каким-то условиям (истинность или ложность каких-либо выражений) и в зависимости от этого выполнение программы направляется по одной или другой ветви.

Если ставка совпала с выпавшим числом, то увеличить счетчик(банк) на 3, если же нет то уменьшить счетчик на 2.

Label15.Caption = Label15.Caption + 3

Else

Label15.Caption = Label15.Caption - 2

End If

End Sub

Процедура кнопки «Начать»

Private Sub CommandButton1_Click()

stav = CDbl(TextBox2.Text)

Label18.Visible = False

‘ Устанавливаем флаг фокуса надписи на ложь

If stav < 6 And stav > 0 Then

Проверяем была ли сделана ставка, если да то запускаем таймер,

qtimer

Else

‘если же нет, то меняем флаг фокуса и выводим надпись

Label18.Visible = True

Label18.Caption = "Вы не сделали ставку!!!"

End If

‘Выводим текущий счет игрока

Label19.Caption = TextBox1.Text + " Ваш выигрыш = "

End Sub

Процедура кнопки «Остановить»

Private Sub CommandButton2_Click()

PauseTime = 0

‘Сбрасываем таймер на 0, тем самым останавливаем timer

End Sub

Процедура для кнопки «Сброс»

Private Sub CommandButton3_Click()

Label1.Caption = "0"

‘Устанавливаем на 0 ,чтоб процедура qtimer не вызывала ошибку

Label19.Caption = ""

TextBox1.Text = ""

‘Очищаем поле text(ставка)

TextBox2.Text = ""

End Sub

Процедура для кнопки «Выход»

Private Sub CommandButton4_Click()

UserForm1.Hide

‘Скрываем форму

End Sub

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

Private Sub qtimer()

Dim Кости, a, d, stav As Integer

stav = CDbl(TextBox2.Text)

PauseTime = 1

Start = timer

Do While timer < Start + PauseTime

DoEvents

Randomize

Кости = Int(Rnd * 6) + 1

Select Case Êîñòü

Case 1

Image1.Picture = LoadPicture("d:\kosti\1.bmp")

Label1.Caption = Label1.Caption + 1

Case 2

Image1.Picture = LoadPicture("d:\kosti\2.bmp")

Label2.Caption = Label2.Caption + 1

Case 3

Image1.Picture = LoadPicture("d:\kosti\3.bmp")

Label3.Caption = Label3.Caption + 1

Case 4

Image1.Picture = LoadPicture("d:\kosti\4.bmp")

Label4.Caption = Label4.Caption + 1

Case 5

Image1.Picture = LoadPicture("d:\kosti\5.bmp")

Label5.Caption = Label2.Caption + 1

Case 6

Image1.Picture = LoadPicture("d:\kosti\6.bmp")

Label6.Caption = Label6.Caption + 1

End Select

Loop

If stav = Кость Then

Label15.Caption = Label15.Caption + 3

Else

Label15.Caption = Label15.Caption - 2

End If

End Sub

Private Sub CommandButton1_Click()

stav = CDbl(TextBox2.Text)

Label18.Visible = False

If stav < 6 And stav > 0 Then

qtimer

Else

Label18.Visible = True

Label18.Caption = "Вы не сделали ставку!!!"

End If

Label19.Caption = TextBox1.Text + " Ваш выигрыш = "

End Sub

Private Sub CommandButton2_Click()

PauseTime = 0

End Sub

Private Sub CommandButton3_Click()

Label1.Caption = "0"

Label2.Caption = "0"

Label3.Caption = "0"

Label4.Caption = "0"

Label5.Caption = "0"

Label6.Caption = "0"

Label15.Caption = "0"

Label19.Caption = ""

TextBox1.Text = ""

TextBox2.Text = ""

End Sub

Private Sub CommandButton4_Click()

UserForm1.Hide

End Sub

Модуль

Public PauseTime, Start, Finish, TotalTime

Заключение

В данной курсовой работе были рассмотрены стандартные операторы, функции и методы VBA

Тема работы с случайными числами является очень актуальной, так как случайные числа находят своё применение в приложениях различных типов и имеет большое практическое значение. Не одна задача современного программирования (в криптографии) не обходится без решения вопроса генерирования случайных данных.

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

БИБЛИОГРАФИЧЕСКИЙСПИСОК

1. Гарнаев А.Ю. Самоучитель VBA. – СПб.: БХВ-Петербург, 2003. – 512 с.

2. Гарнаев А.Ю. Excel, VBA, Internet в экономике и финансах. СПб.: БХВ-Петербург, 2001.

3. Демидова Л.А., Пылькин А.Н. Программирование в среде Visual Basic for Application. М.: Телеком, 2004.

4. Уокенбах Д. Профессиональное программирование на VBA в Excel 2002. Пер. с англ. – М.: Издательский дом «Вильямс», 2003. –784 с.

5. Блатнер П., Ульрих Л. и др. Использование Microsoft Excel 2000. Специальное издание.: Пер. с англ.: Уч. пос. – М.: Издательский дом «Вильямс», 2000. –1024 с.

Страница:  1  2  3  4  5 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы