Кидання гральної кістки на VBA

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Курсова робота
за курсом
«Прикладне програмне забезпечення»
на тему:
«Кидання гральної кістки на VBA»

ЗМІСТ

Введення

1. Основні засоби та можливості VBA
1.1 Використання VBA в Microsoft Excel
1.2 Адресація осередків в Excel
2. Гральна кістка. Імітація кидання гральної кістки
2.1 Постановка завдання і план рішення
2.2Опісаніе програми
3. Оригінальний текст
Висновок
Бібліографічний список

У ведення
Програмне забезпечення прикладного рівня являє собою комплекс програм, за допомогою яких на даному місці виконується конкретне завдання. Спектр цих завдань може бути досить широкий, від виробничих до творчих і розважально-навчальних програм. Величезний функціональний діапазон додатків обумовлений наявністю прикладних програм для різних видів діяльності.
Прикладні програми призначені для того, щоб забезпечити застосування обчислювальної техніки в різних сферах діяльності людини. Крім створення нових програмних продуктів розробники прикладних програм великі зусилля витрачають на вдосконалення та модернізацію популярних систем, створення їх нових версій. Нові версії, як правило, підтримують старі, зберігаючи спадкоємність, і включають в себе базовий мінімум (стандарт) можливостей.

1. Основні засоби та можливості VBA
Visual Basic for Application (VBA) - розвинена система візуального програмування для створення прикладних програм в середовищі Microsoft Office. За допомогою VBA можна створювати об'єкти управління графічного інтерфейсу користувача, задавати і змінювати властивості об'єктів, підключати до них відповідний програмний код. Методика програмування з використанням засобів VBA зводиться до наступного:
§ створення об'єктів управління та контролю (діалогові вікна, піктограми, меню);
§ розробка процедур, що використовуються при виклику об'єктів.
Прикладні програми на мові VBA оперують з наступними поняттями:
§ об'єкт управління та контролю - екранні форми, графічні елементи всередині форм, у тому числі текстові вікна, лінійки прокрутки, піктограми, вікна-списки, командні кнопки та ін;
§ властивість (параметр) - характеристика чи атрибут об'єкта управління;
§ метод доступу - аналогічне поняттям функція, оператор, який впливає завжди на об'єкт;
§ процедура - підпрограми і функції, довільна послідовність операторів VBA; процедури діляться на подієві (запускаються при настанні подій) і загальні процедури.
Програми на мові VBA для додатків, що функціонують в Excel 5ю0, створюються двома способами:
§ в автоматичному режимі як результат побудови клавішною дії;
§ в неавтоматичному режимі шляхом створення програмного коду.
Для створення програмного модуля в складі робочої книги виконується команда меню ВСТАВКА, Макрос із зазначенням типу макросу - Модуль. При цьому створюється новий робочий лист зі стандартним ім'ям Модуль і порядковим номером програмного модуля в робочій книзі. Ім'я модульного листа можна змінити.
При роботі з модулем на екран виводиться нова панель інструментів Visual Basic.
Перший ряд кнопок панелі (зліва направо):
<Вставка Модуля> - вставляє в активну робочу книгу новий програмний модуль;
<Редактор Меню> - редагування рядків і команд меню робочої книги;
<Перегляд Об'єктів> - перегляд списку доступних в поточній робочій книзі процедур, модулів, і об'єктів та їх властивостей.
Другий ряд кнопок:
<Виконати Макрос> - вибір потрібного макросу для запуску через вікно діалогу Макрос;
<Крок Макрос> - покрокове виконання обраного макросу (крок - один рядок коду);
<Продовжити Макрос> - відновлення виконання макросу після його зупинки;
<Зупинити макрос> - громовідвід виконання або запису макросу;
<Записати макрос> - введення через вікно діалогу Макрос імені нового макросу і його запис.
Третій ряд кнопок:
<Точки Переривання> - встановлення (зняття) точки переривання для рядка процедури;
<Спостереження> - вказівка ​​у вікні діалогу вираження VBA для спостереження його значень;
<Вхід в Процедуру> - виконання наступного рядка коду процедури VBA;
<Вихід із Процедури> - виконання наступного рядка коду процедури VBA з призупиненням.
Екран модуля використовується для запису рядків програми на мові VBA.
Доступ до компонента набору здійснюється двома способами:
1) за номером компонента
2) на ім'я компонента.
Набори мають наступні властивості:
§ Count - визначає число компонентів у наборі;
§ Name - визначає ім'я компонента;
§ Parent - визначає ім'я об'єкта, що включає набір.
Для додавання і видалення компонентів набору використовують методи Add і Delete. Окремі осередки таблиці доступні через об'єкт Range і наступні методи:
1. Cell - В якості аргументів указуються два цілих числа, що визначають місце розташування осередку таблиці - Cell (число1; чісло2).
2. Range - Робота з прямокутною областю осередків, в якості аргументів використовується одна або дві посилання на клітинки таблиці у стилі A1:
3. Offset - як аргументи передаються два числа, які вказують місце розташування осередку щодо верхнього лівого кута зазначеної області. Під час запису макросів з відносними посиланнями макрорекордер використовує даний метод для вказівки вибору.
4. Union - метод множинного виділення областей осередків - Union (область1; область2).
Деякі вбудовані типи даних. VBA використовує 11 вбудованих типів даних. У цій роботі використані наступні:
Boolean використовує 2 байти, або 16 біт, пам'яті для зберігання логічних даних; має два можливих значення: True і False /
Integer використовує 2 байта пам'яті для зберігання цілих чисел, у тому числі 1 біт для зберігання знака числа, 15 біт - для числа.
Long використовує 4 байти або 32 біта, пам'яті для зберігання цілого числа двійковій точності, у тому числі 1 біт - для зберігання знака числа, 31 біт - для числа.
Double використовує 8 байтів для роздільного зберігання мантиси (максимум 15 знаків) і порядку.
String використовує 1 байт для зберігання 1 символу плюс 1 байт для позначки кінця рядка.
Object використовує 4 байта пам'яті для посилання на будь-який об'єкт Visual Basic.
Variant використовується завжди, коли явно вказаний якийсь тип, може відповідати будь-якому іншому дозволеному типу даних.
Процедури. Залежно від призначення процедури вони поділяються на процедури обробки подій і процедури загального призначення. У залежності від області визначення процедури бувають відкритими та з акритимі. Закриті процедури доступні тільки всередині форми, модуля, класу модулів, оголошуються ключовим словом private. Відкриті процедури доступні для будь-яких форм, модулів і класів модулів і оголошуються ключовим словом public. Процедура обробки подій має ім'я, отримане зчепленням за допомогою символів підкреслення імені і події. Наприклад:
Command Button _ Click оголошується за умовчанням як закрита (private).
У процедурах обробки подій набір аргументів залежить від події і не може бути змінений розробником. У процедурах загального доступу кількість і порядок аргументів визначається розробником. Для передачі аргументів за посиланням слід вказати ключове слово ByRef, за значенням ByVal. За замовчуванням аргументи передаються в одне посилання.
Оператори управління:
1. If ... then - умовний оператор, який може мати однорядковий або блоковий синтаксис;
Наприклад:
If умова then
[Оператор]
[Else if умова then]
[Else]
[Оператор]
[End if]
end if
2. Select Case - оператор вибору має наступний синтаксис:
Select Case перевірочне вираз
Case список виразів
[Оператор]
Case else
[Оператор]
End Select
1. For ... Next - оператор циклу має наступний синтаксис:
For лічильник = початкове значення Т
кінцеве значення [Step крок]
[Оператор]
Next [лічильник]
Крок може бути як позитивним так і негативним.
2. Do ... Loop - оператор повторення існує у двох варіантах:
1) Do [{While / Until} умова]
[Оператор]
Loop
2) з постусловіем
Do
[Оператор]
Loop [{While/Until3} умова]
Стандартні елементи управління:
1. Command Button - використовується для того, щоб почати, перервати, або закінчити будь-який процес.
2. Label (напис) - призначений для відображення тексту, який користувач не може змінити з клавіатури.
3. Text Box (поле) - є основним елементом управління для введення даних.
4. Check Box (прапорець) - це елемент керування, який можна відзначати вибираючи з ряду функцій одну або декілька.
5. Option Button (перемикач) - призначений для установки тільки однієї операції з групи.
6. List Box (список) - дозволяє користувачеві вибирати з переліку один або кілька елементів.
7. Combo Box (поле зі списком) - є комбінованим списком (комбінація самого списку зі значеннями поля введення тексту). Поле зі списком використовується в тих випадках якщо не можна заздалегідь визначити значення, яке варто включити в список або список містить багато елементів.
8. Елемент управління Scroll Bar - смуги прокручування вікна Text Box і List Box.
9. Timer - використання таймера є гарним способом управління програмою. За допомогою таймера можна запускати або завершувати процеси в певні моменти часу.
10. Список пристроїв Drive List Box. Це елемент керування належить до групи, призначеної для відображення роботи з дисками, каталогами та файлами.
11. Список файлів File List Box - відображає файли поточного каталогу, звідки їх можна вибирати. Основною подією є Click.
12. Рамка (Фрейм) Frame - його призначення об'єднувати в групу елементи керування, елементи об'єднання за допомогою рамки. Можна як єдине ціле переміщати, активувати і деактивувати, робити видимими і невидимими. Для об'єднання елементів у групу слід спочатку створити рамку, потім додати до нього потрібні елементи управління.
14. Вікно з малюнком Picture Box - призначений для відображення малюнків і інших графічних об'єктів. Цей елемент як і рамка, є контейнером. Тому його можна використовувати для об'єднання інших елементів.
1.1 Використання VBA в Microsoft Excel
VBA дозволяє істотно розширити можливості Excel. За допомогою VBA можна легко і швидко створювати різні додатки, навіть не будучи фахівцем в області програмування. VBA має графічну інструментальну середовище, що дозволяє створювати екранні форми і керуючі елементи. З його допомогою можна створювати свої власні функції для Excel, що викликаються майстром функцій, розробляти макроси, створювати власні меню і багато іншого.
Редактор VBA активізується з Excel одним з таких способів:
- Командою меню СервісÞМакросÞРедактор Visual Basic;
- Комбінацією клавіш <Alt+F11>;
- Кнопкою панелі інструментів Visual Basic .
Повернутися з редактора VBA в додаток можна по комбінації клавіш <Alt+F11>, по команді ViewÞMicrosoft Excel або через панель задач.
Знайомство з VBA ми рекомендуємо починати зі створення макросів, коли сама програма Excel записує виконувані команди і генерує програмний код у вигляді процедури. Між макросом, який створюється в процесі запису, і VBA-програмою, код якої ми вводимо вручну, принципової різниці немає. Надалі процедуру макросу можна модифікувати, додаючи нові команди або видаляючи зайві. Ретельний розбір команд допоможе освоїти принципи мови VBA, а практичне написання програм значно прискорить процес.
Структура програми Excel
При відкритті робочої книги автоматично активізується об'єкт Application, що визначає сам додаток, і всі вбудовані в нього об'єкти. Цей об'єкт знаходиться на вершині ієрархічної структури. Додаток включає робочі книги (Workbooks) і різні системи надбудови. У свою чергу, робочі книги містять робочі листи (Sheets) та інші об'єкти. Нарешті, робочі листи включають найважливіший об'єкт - діапазон комірок (Range).
Оскільки додаток розробляється на базі існуючих таблиць, всі результати дій повинні бути пов'язані з осередками робочого аркуша. Спеціального об'єкта осередки в Excel не існує, в даному випадку об'єкт Range використовується і для однієї-єдиної осередки, і для інтервалу комірок.
Редактор Visual Basic for Application у візуальному режимі дозволяє переглянути структурний склад об'єктів, забезпечує додавання нових і редагування існуючих елементів, у тому числі і макросів.
Головне вікно редактора (рис. 1) включає наступні елементи: вікно проекту (Project), вікно форми (UserForm), вікно програмного коду (Code), вікно перегляду (Object Browser).
Структура програмного коду VBA
Програма VBA являє собою сукупність процедур і функцій, розміщених в залежності від особливостей розв'язуваної задачі в одному або декількох модулях (це спеціальні розділи Excel). Додавання модуля здійснюється по команді InsertÞModule (у цьому випадку програмний код складається користувачем) або при створенні макросу (коли програма створюється автоматично). Створеному модулю присвоюється стандартне ім'я Module1, Module2 і т. д.
Кожен модуль відображається у вікні, який має дві області: загальну область і область підпрограм. У загальній області поміщаються оператори опису змінних, які є загальними для всіх процедур і функцій цього модуля. В області підпрограм міститься код програми. Вікно програмного коду призначено для введення, перегляду і редагування процедур модуля. У даному вікні можна переглянути код обраної процедури або всіх процедур модуля відразу.
Для видалення модуля слід: виділити ім'я модуля, вибрати команду FileÞRemove Module, клацнути у вікні діалогу на кнопці "Ні".
Макроси. Макрос - це послідовність команд і дій користувача, записана і збережена усередині документа і виконувана Excel так само, як користувач виробляв ці дії. Послідовність дій користувачем виконується один раз під час запису макросу, потім автоматично проводиться Excel при кожному запуску макросу. Більшість команд, які можна виконати за допомогою меню, клавіатури або миші, можна записати в макрос і виконати їх при необхідності. За допомогою макросу можна будувати числові ряди, копіювати таблиці, виконувати перехід на потрібні листи, зберігати інформацію, працювати в режимі введення і т.д. Макрос записується у вигляді процедури із заданим ім'ям в модуль. Ім'я макросу може складатися з літер, цифр та символу підкреслення (_).
Для запису макросу необхідно: виконати команду СервісÞМакросÞНачать запис, у вікні діалогу "Запис макросу" задати ім'я макросу і клавіші для швидкого виконання макросу (рис. 2); потім виконати потрібні дії; після чого закінчити запис макросу по команді СервісÞМакросÞОстановіть запис. Під час запису макросу використовуються команди меню, кнопки панелі інструментів, ярлички листів, клавіатура.
Макрос представляє процедуру, що починається з ключового слова Sub і закінчується словом End Sub. Перші рядки процедури є коментарями, вони містять ім'я макросу, дату запису, автора і комбінацію клавіш. Далі йдуть команди, записані за правилами VBA. Кожна команда відповідає виконаному дії.
Мова програмування VBA має свої правила написання програмного коду. Він використовує свій алфавіт, що включає букви латинського алфавіту і кирилицю; цифри від 0 до 9; символ підкреслення.
З цих символів складаються імена процедур, змінних, міток переходів, константи і команди.
До складу алфавіту також входять пропуски для відділення слів один від одного і знаки операцій (+ - * / ^ => <() [] {} '& @), у тому числі складові (> =, <=, <>).
Програмний код VBA представляє собою послідовність команд, записаних за правилами мови Basic. Імена змінних, констант, процедур позначають за допомогою ідентифікаторів, враховуючи при цьому, що ім'я має бути змістовним, воно повинно починатися з літери, не повинно містити точки, прогалини, розділових символів, зарезервованих слів. Зарезервовані слова (As, Public, Then, All і ін) виводяться синім кольором. Приклади правильних імен: strMyName, strФамілія. Приклади неправильних імен: 2Week, Second.Week.
Кожна команда записується в окремому рядку за певним правилом.
У VBA прийнято команду називати оператором, правило запису команди - синтаксисом або форматом.
Оператори VBA мають такі формати:
Об'ект.Свойство = Значення
Об'ект.Метод [параметр1] [, параметр2 ]...],
де: об'єкт - ім'я об'єкта, для якого встановлюється властивість чи метод. Зазвичай ланцюжок об'єктів починається з об'єкта Application, який можна опускати. Наприклад, посилання Application.ActiveCell або просто ActiveCell - це звернення до активної осередку. При роботі з однієї робочої книгою об'єкт WorkBook також можна опустити;
Властивість - характеристика об'єкта, яка підлягає зміні;
Значення - новий стан об'єкта;
Метод - команда або процедура;
Параметр - аргумент, який використовується методом. Якщо параметрів декілька, вони розділяються комою.
Знак апостроф (') на початку рядка означає, що команда або повідомлення в рядку використовується як пояснювальний текст і ігнорується VBA. Такі рядки у процедурі відзначені зеленим кольором.
Якщо в командному рядку порушений синтаксис або сама команда невірна, вона виділяється червоним кольором.
Для перенесення частини команди на інший рядок в кінці першої необхідно вставити пробіл, потім символ підкреслення (_).
Приклади:
Sheets ("Лист1"). Select - оператор виділення робочого аркуша, де Sheets ("Лuст1") - об'єкт, Select - метод.
Sheets ("Лист1"). Range ("A1"). Value = Sheets ("Випуск продукції"). Range ("D5") - оператор, що привласнює осередку Аркуш1! А1 значення з комірки Випуск продукції! D5, Value - властивість.
1.2 Адресація осередків в Excel
У Excel осередок, рядок, стовпець і діапазон комірок розглядаються як один об'єкт Range.
Для визначення діапазону використовуються різні засоби, що задаються за допомогою наступних властивостей і методів.

Рис 1.1 (Вид осередків)

Range - властивість, що визначає діапазон комірок;
Cells - властивість, що дозволяє вибирати комірки робочого листа;
ActiveCell - властивість, що повертає одну активну клітинку;
Selection - метод, який повертає виділений об'єкт.
Для доступу до діапазону комірок найчастіше використовуються властивості Range і Cells.
Для посилання на клітинки використовується два формати.
Формат А1 (звичайний). Посилання складається з імені стовпця і номера рядка. Наприклад, D4. Посилання може бути відносною (D4) і абсолютної ($ D $ 4). Посилання може вказувати діапазон комірок. Повна адреса діапазону може включати ім'я робочого листа.
Формат R1C1. У даному форматі R задає номер рядка, С - номер стовпця, посилання є абсолютною. Для вказівки відносної посилання задається зсув по відношенню до активної осередку. Зсув вказується у квадратних дужках, знак вказує напрямок зсуву. Наприклад, R [-2] C - посилання на клітинку, розташовану на 2 рядки вище в тому ж стовпці. R [2] C [3] - посилання на клітинку, розташовану на 2 рядки нижче і 3 стовпці правіше. Посилання на одиночну осередок має вигляд:
[Об'єкт.] Range ("адреса осередку"). Для властивості Range як аргумент використовується будь-яке посилання у форматі А1. Наприклад, WorkSheets ("Лист1"). Range ("A7") = 34, або для поточного аркуша Range ("A7") = 34 - запис в клітинку А7 числа 34.
[Об'єкт.] Cells (<номер рядка> <номер стовпця>). Властивість використовується для доступу до окремої клітинки. В якості аргументів указуються номер рядка та стовпця. Наприклад, для введення числа 34 в клітинку Аркуш1! А7 необхідна команда: Sheets (1). Cells (7, 1). Value = 34.
Номер рядка та стовпця можуть задаватися за допомогою змінних, це дозволяє звертатися до різних комірок таблиці.
Зауваження. При роботі стилі переключаються в меню Сервіс -> Параметри -> Загальні -> Стиль посилань, при реальному програмуванні найбільш зручно користуватися не цими стилями, а іменами осередків. Тоді робота з вашою осередком схожа на роботу зі звичайною змінною. Що багатьом більш звично і зручно. Наприклад для констант або полів форм.
Для того, щоб дати ім'я клітинці наведіть на неї курсор. Виберіть меню Вставка -> Ім'я -> Присвоїти. З'явиться діалогове вікно, куди треба ввести ім'я і натиснути кнопочку OK.

Рис 1.2 (Стиль посилань)
Після присвоювання імені ви введіть число в цю клітинку, а в іншій створіть формулу: = MyName +10
Даний запис набагато інформативніше, крім того ви можете не турбуватися про місцезнаходження імені в таблиці, можете міняти його місце розташування не піклуючись про те, що Ваші формули будуть змінені. А особливо це важливо при програмуванні. Ця дрібниця дозволить уникнути Вам складною адресації і відстеження даних.
Дізнатися про все імена можна тут:


Рис 1.3 (Перегляд імен стилів)

2.Ігральная кістку. Імітація кидання гральної кістки
Гральна кістка (лат. ālea, англ. Dice) - популярний джерело випадковості в настільних іграх (особливо в однойменній грі). Гральна кістка зазвичай виконана у вигляді шестигранного кубика з нанесеними на Рис 2.1 (Традиційні гральні кістки) його боку числами від 1 до 6, причому сума чисел на протилежних гранях повинна дорівнювати семи.
Гральну кістку можна розглядати як генератор випадкових чисел в целочисленном інтервалі [1 .. N] з однаковою ймовірністю випадання всіх чисел інтервалу. Такі генератори позначають 1dN. Так, наприклад, звичайний шестигранний кубик - це 1d6; кидання монетки - це робота генератора 1d2 і т. д.
Скорочення MdN позначає суму M застосувань 1dN. Слід зазначити, що MdN дає цілі числа в інтервалі [M.. M * N]. Вірогідність випадання числа з цього інтервалу зростає в міру наближення до його середини
Так, наприклад, використовуючи гральну кістку d4 і кинувши її два рази, ми отримаємо генератор 2d4, що дає наступні варіанти:
Таблиця 2.1
Кількість очок
Імовірність результату
%%
2
1 / 16
6,25
3
1 / 8
12,5
4
3 / 16
18,75
5
1 / 4
25
6
3 / 16
18,75
7
1 / 8
12,5
8
1 / 16
6,25
Приклад генератора, не потрапляє під визначення MdN: колода карт, в яку не повертаються витягнуті карти. Вона буде 1dN тільки для першої спроби, розподілу подальших спроб будуть залежати від попередніх результатів.
У рольових іграх (наприклад, заснованих на правилах Dungeons & Dragons) використовуються гральні кістки з 4 (тетраедр), 6 (куб), 8 (октаедр), 12 (додекаедр), 20 (ікосаедр) та іншим кількістю граней. Лоу Зоччі винайшов зоччіедр, гральну кістку з 100 гранями. Втім, для отримання числа від 1 до 100 частіше користуються двома 10-гранях костей.
У середовищі рольовиків тип кубика часто позначають буквою «d» (d ices) або «до», (до остюків) після яких вказується кількість сторін. Крім звичних багатьом шестигранних кубиків (d6), використовуються чотирьох-(d4), восьми-(d8), десяти-(d10), дванадцяти-(d12) і двадцятигранні (d20) кістки. Використовується також позначення d100, d% або "процентний кубик», що представляє собою два десятігранніка, один з яких використовується для визначення кількості десятків, а другий - одиниць.
2.1 Постановка завдання і план рішення
Розробити програму, яка буде імітувати багаторазове кидання однієї гральної кістки, а також визначати і показувати кількість випадань на кубику того чи іншого числа. Програма повинна робити ставки, дозволяти починати кидання кістки, зупиняти його в будь-який момент і встановлювати заново результати підрахунку.
План рішення
На рис. 2.2 показаний пропонований дизайн форми.


Малюнок кістки
Ставка
гравця
Рахунок гравця
Кнопки для управління грою
Написи


Рис 2.2 (Інтерфейс гри)
Призначення кожного елемента управління:
1) елемент управління Image - для графічного представлення гральної кістки (однієї її межі);
2) написи - для показу кількості випадань того чи іншого числа і для підписів до них;
3) кнопки:
· Вихід - для завершення програми по клацанню на ній;
· Почати - щоб почати кидання по клацанню на кнопці;
· Зупинити - щоб зупинити кидання по клацанню на ній;
· Скидання - щоб обнулити рахунок по клацанню на кнопці.
У цій програмі є повторюваний процес (кидання кістки і вивід результату) через регулярні інтервали часу. У такій ситуації зручно використовувати елемент керування Timer (Таймер).

Таблиця 2.2 (Процедура для таймера)

Отримати випадкове число от1 до 6

1
2
3
4
5
6
Завантажити зображення 1.bmp
Завантажити зображення 2.bmp
Завантажити зображення 3.bmp
Завантажити зображення 4.bmp
Завантажити зображення 5.bmp
Завантажити зображення 6.bmp
1. Кнопка «Почати» - виклик процедури "qtimer";
2. Кнопка «Зупинити» - змінної PauseTime привласнити 0, тим самим зупинити timer;
3. Кнопка «Скидання» - привласнити властивості Caption 0, тобто обнулити значення;
Створення інтерфейсу
Перед початком роботи над програмою, треба створити на будь-якому графічному редакторі 6 зображень, в форматі bmp.
Далі властивість caption елемента UserForm1, змінити на «Кидання Кості». Для елемента label1-21, встановити розмір шрифту 14 пт, властивість Color = white, BorderStyle = 0 fmBackStyle.
2.2 Опис програми
Процедура таймера
Private Sub qtimer ()
Dim Кістки, a, d, stav As Integer
'Описуємо змінні
stav = CDbl (TextBox2.Text)
'Значення вводиться з TextBox2. перетворимо в числове
PauseTime = 1
'Збільшуємо час таймера
Start = timer

Do While timer <Start + PauseTime

'Продовжувати поки не минув заданий час
DoEvents
Randomize
Кістки = Int (Rnd * 6) + 1
'Повертає випадкове число типу Single.
Необов'язковий атрибут. Single значення чи будь-яке допустиме вираз Single.
Якщо параметр number
Те функцією Rnd генерується
Дорівнює нулю
Остання сгенерированное випадкове число.
Менше нуля
Кожного разу одне й те ж число. Number використовується як початкове значення.
Більше нуля
Наступний випадкове число в послідовності.
Чи не задається
Дорівнює нулю
Функція Rnd повертає значення, яке менше 1, але більше або дорівнює нулю.
Cпособ генерації випадкового числа в функції Rnd визначається значенням параметра Number.
Для будь-якого заданого початкового числа генерується одна і та ж послідовність чисел, оскільки при кожному наступному виклику у функції Rnd при генерації наступного числа послідовності в якості початкового використовується раніше згенероване число.
Перед викликом Rnd для ініціалізації генератора випадкових чисел з початковим значенням на основі системного таймера скористайтеся оператором Randomize без вказівки аргументів.
Select Case Кость
Case 1
'Виконує один з блоків операторів залежно від значення виразу. Обов'язковий в операторі Case. Список можливих значень для testexdivssion
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 С.
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
71кб. | скачати


Схожі роботи:
Закритий перелом лівої великогомілкової кістки в нижній третині зі зміщенням і лівої малогомілкової кістки
Залежність дальності перельоту об`єкта від кута кидання
Використання VBA
Програмування на VBA в середовищі MS Excel
Бази даних в Excel Access з викликом на VBA
Розвязання інженерних задач мовою програмування VBA
Основи програмування на VBA модель об`єктів Exel
Розв язання інженерних задач мовою програмування VBA
Кістки і м`язи
© Усі права захищені
написати до нас