Кафедра системного аналізу та управління
Курсова робота
за технологією програмування
«Гра Шибениця»
Дубна, 2003
Зміст
1. Введення.
2. Постановка завдання.
3.Теоретіческая частина
4. Опис алгоритму.
5. Блок-схема
6. Блок-схема додаткової процедури
7. Лістинг програми
8. Висновок
9. Список літератури
Form
При організації проекту форма дається за замовчуванням. Її немає на стандартній панелі управління. Однак форма також є об'єктом, у неї є свій набір властивостей і подій. На панелі управління є піктограма Add Form, що додає в проект ще одну форму, а не створюючи новий.
CommandButton
Основна подія, пов'язане з натисканням кнопки, це Click (). Після клацання певні дії, пов'язані з цією кнопкою, будуть досконалі негайно. З кнопками пов'язані не тільки події, а й властивості. У даній програмі ми використовували властивість Enabled - робить кнопку або активною, або неактивній. Дана властивість може приймати два значення - True або False. Також є властивості, що відповідають за положення кнопки на екрані - властивості Top, відстань між верхньою стороною об'єкта і верхньою межею контейнера, його містить, і Left, відстань між лівою стороною об'єкта лівої кордоном контейнера, його містить.
TextBox
Даний елемент служить для висновку, введення і редагування тексту. Для цього поля можна задавати різні шрифти, розміри букв, кольору, обмежувати кількість вводяться букв. За замовчуванням це поле містить один рядок тексту, проте цей режим можна змінити на багаторядковий. Також елемент має властивості Top, Left, описаними вище для елемента CommandButton; властивістю ForeColor, що відповідає за колір вводяться букв.
Line
Елемент, використаний у даній програмі для малювання самої шибениці. Має властивості BorderColor - колір даної лінії, BorderStyle - зовнішній вигляд лінії, BorderWidth - товщина лінії, Visible - видимість об'єкта на формі.
Image
Елемент управління призначений для відображення малюнків. У нього можна помістити растровий малюнок у форматі bmp, wmf, ico, gif.
Можна вибрати режим відображення: або розміри малюнка зміняться до розмірів заданого елемента Image, або елемент Image зміниться до розмірів малюнка. Image не дозволяє малювати і не допускає угруповання об'єктів всередині себе.
Не можна не згадати такі оператори мови, як умовні оператори IF і CASE, оператори циклу WHILE і FOR.
Оператор IF реалізує алгоритм конструкції розвилка і змінює порядок виконання операторів залежно від істинності чи хибності деякої умови.
За допомогою оператора CASE можна вибирати варіант дії з будь-якої кількості варіантів умов.
Оператор циклу WHILE організовує виконання циклу, що складається з будь-якого числа операторів, з невідомим заздалегідь числом повторень.
Вихід з циклу здійснюється при хибності деякого логічного виразу. Оператор циклу FOR організовує виконання групи операторів певне число разів. У моїй програмі використовується також процедура Open ... For для відкриття файлу для читання.
4. Опис алгоритму
Моя програма починається із заставки. На екрані з'являється вітає напис і кнопка входу в гру. Після натискання цієї кнопки поточна форма вітання робиться невидимою, відкривається форма самої гри. На цій формі знаходяться три кнопки і поле для введення літери. Кнопка для виходу з гри, для старту гри, кнопка для введення введеної літери в текстове поле.
Після натискання кнопки старту гри, користувач повинен ввести букву в текстове поле і натиснути кнопку "Введення літери". Після чого йде перевірка на наявність цієї букви в загаданном слові. У разі, якщо така буква присутній, то вона вважається вгадати. Інакше, починається поява на екрані елементів шибениці. Чим більше користувач помиляється, тим ближче шибениця до свого завершення. Коли кількість помилок перевищує допустиму норму, користувач вважається "повішеним", а на екрані виникає повідомлення про закінчення гри. У випадку, якщо вгадані всі букви, то гра закінчується повідомленням про перемогу гравця.
Із зовнішнім виглядом робочої форми ви можете ознайомитися на рис.1.
Рис. 1. Зовнішній вигляд робочої форми
2. О. І. Мельникова, А. Ю. Бонюшкіна. Навчальний посібник по Технології програмування. - Дубна: Міжнародний університет природи, суспільства і людини "Дубна", 2001.
Курсова робота
за технологією програмування
«Гра Шибениця»
Дубна, 2003
Зміст
1. Введення.
2. Постановка завдання.
3.Теоретіческая частина
4. Опис алгоритму.
5. Блок-схема
6. Блок-схема додаткової процедури
7. Лістинг програми
8. Висновок
9. Список літератури
1. Введення
Сьогодні на нашому ринку можна побачити безліч розважальних програм та ігор. Наприклад, "Counter-Strike", "Need for Speed", "Quake". Всі вони вимагають великої продуктивності від комп'ютера. У той час, як такі ігри, типу, "Пасьянс", "Тетріс", "Сапер" працюють і на старих комп'ютерах, але, тим не менш, є досить цікавими. Тому я вибрав гру "Шибениця" для її реалізації в своїй роботі.2. Постановка завдання
Розробити програму "Шибениця" з використанням програмного середовища Visual Basic і засобів об'єктно-орієнтованого програмування.3.Теоретіческая частина
У своїй програмі найбільше я використовував такі стандартні елементи управління як Form, TextBox для введення букв, CommandButton, Line, Image.Form
При організації проекту форма дається за замовчуванням. Її немає на стандартній панелі управління. Однак форма також є об'єктом, у неї є свій набір властивостей і подій. На панелі управління є піктограма Add Form, що додає в проект ще одну форму, а не створюючи новий.
CommandButton
Основна подія, пов'язане з натисканням кнопки, це Click (). Після клацання певні дії, пов'язані з цією кнопкою, будуть досконалі негайно. З кнопками пов'язані не тільки події, а й властивості. У даній програмі ми використовували властивість Enabled - робить кнопку або активною, або неактивній. Дана властивість може приймати два значення - True або False. Також є властивості, що відповідають за положення кнопки на екрані - властивості Top, відстань між верхньою стороною об'єкта і верхньою межею контейнера, його містить, і Left, відстань між лівою стороною об'єкта лівої кордоном контейнера, його містить.
TextBox
Даний елемент служить для висновку, введення і редагування тексту. Для цього поля можна задавати різні шрифти, розміри букв, кольору, обмежувати кількість вводяться букв. За замовчуванням це поле містить один рядок тексту, проте цей режим можна змінити на багаторядковий. Також елемент має властивості Top, Left, описаними вище для елемента CommandButton; властивістю ForeColor, що відповідає за колір вводяться букв.
Line
Елемент, використаний у даній програмі для малювання самої шибениці. Має властивості BorderColor - колір даної лінії, BorderStyle - зовнішній вигляд лінії, BorderWidth - товщина лінії, Visible - видимість об'єкта на формі.
Image
Елемент управління призначений для відображення малюнків. У нього можна помістити растровий малюнок у форматі bmp, wmf, ico, gif.
Можна вибрати режим відображення: або розміри малюнка зміняться до розмірів заданого елемента Image, або елемент Image зміниться до розмірів малюнка. Image не дозволяє малювати і не допускає угруповання об'єктів всередині себе.
Не можна не згадати такі оператори мови, як умовні оператори IF і CASE, оператори циклу WHILE і FOR.
Оператор IF реалізує алгоритм конструкції розвилка і змінює порядок виконання операторів залежно від істинності чи хибності деякої умови.
За допомогою оператора CASE можна вибирати варіант дії з будь-якої кількості варіантів умов.
Оператор циклу WHILE організовує виконання циклу, що складається з будь-якого числа операторів, з невідомим заздалегідь числом повторень.
Вихід з циклу здійснюється при хибності деякого логічного виразу. Оператор циклу FOR організовує виконання групи операторів певне число разів. У моїй програмі використовується також процедура Open ... For для відкриття файлу для читання.
4. Опис алгоритму
Моя програма починається із заставки. На екрані з'являється вітає напис і кнопка входу в гру. Після натискання цієї кнопки поточна форма вітання робиться невидимою, відкривається форма самої гри. На цій формі знаходяться три кнопки і поле для введення літери. Кнопка для виходу з гри, для старту гри, кнопка для введення введеної літери в текстове поле.
Після натискання кнопки старту гри, користувач повинен ввести букву в текстове поле і натиснути кнопку "Введення літери". Після чого йде перевірка на наявність цієї букви в загаданном слові. У разі, якщо така буква присутній, то вона вважається вгадати. Інакше, починається поява на екрані елементів шибениці. Чим більше користувач помиляється, тим ближче шибениця до свого завершення. Коли кількість помилок перевищує допустиму норму, користувач вважається "повішеним", а на екрані виникає повідомлення про закінчення гри. У випадку, якщо вгадані всі букви, то гра закінчується повідомленням про перемогу гравця.
Із зовнішнім виглядом робочої форми ви можете ознайомитися на рис.1.
Рис. 1. Зовнішній вигляд робочої форми
5. Блок-схема
6. Блок-схема додаткової процедури
7. Лістинг програми
Private letter As String, word As String
Private Flag As Boolean, k As Integer
Private i As Integer, j As Integer
Private n As Integer, Counter As Integer
Private h As Integer
Dim words () As String
Private Sub Cmdexit_Click ()
End
End Sub
Private Sub ExitMenu_Click ()
End
End Sub
Private Sub Form_Load ()
Shape1.Visible = False
For i = 1 To 7
Txt (i). Visible = False
Next i
cmdVvod.Enabled = False
Randomize
a = Int (Rnd * 2)
Path = App.Path & "\ words.txt"
Open Path For Input As # 1
Do While Not EOF (1)
Line Input # 1, s
n = n + 1
Loop
Close # 1
ReDim words (n - 1)
n = 0
Open Path For Input As # 1
Do While Not EOF (1)
Line Input # 1, words (n)
n = n + 1
Loop
Close # 1
End Sub
Private Sub Cmdstart_Click ()
Counter = 0
Randomize
For i = 0 To 10
Lin (i). Visible = False
Next i
Shape1.Visible = False
shpBody.Visible = False
txtb.Enabled = True
cmdVvod.Enabled = False
k = Int (Rnd * n)
word = words (k)
Txt (0). Text = Left (word, 1)
Txt (0). ForeColor = vbBlack
For i = 1 To Len (word) - 1
Txt (i). ForeColor = vbWhite
Txt (i). Text = Mid (word, i + 1, 1)
Txt (i). Visible = False
Next i
Txt (0). Visible = True
End Sub
Private Sub cmdVvod_Click ()
letter = txtb.Text
Flag = False
For i = 0 To Len (word) - 1
If Txt (i). Text = letter Then
Txt (i). ForeColor = vbBlack
Txt (i). Visible = True
Flag = True
End If
Next i
txtb.Text = ""
If Flag = False Then
Select Case Counter
Case Is = 0
Lin (0). Visible = True
Lin (1). Visible = True
Lin (2). Visible = True
Counter = Counter + 1
Case Is = 1
Lin (3). Visible = True
Counter = Counter + 1
Case Is = 2
Lin (4). Visible = True
Lin (5). Visible = True
Lin (8). Visible = True
Lin (9). Visible = True
Lin (10). Visible = True
Lin (6). Visible = True
Lin (7). Visible = True
shpBody.Visible = True
Shape1.Visible = True
Counter = Counter + 1
Case Is = 3
Lin (8). Visible = False
Lin (9). Visible = False
Lin (10). Visible = False
MsgBox "Ви програли!"
txtb.Enabled = False
cmdVvod.Enabled = False
End Select
txtb.Text = ""
End If
End Sub
Private Sub MenuHelp_Click ()
HelpForm.Show
End Sub
Private Sub txtb_Change ()
If txtb.Text = "" Then
cmdVvod.Enabled = False
Else cmdVvod.Enabled = True
End If
j = 0
For i = 0 To Len (word) - 1
If Txt (i). ForeColor = vbBlack Then
j = j + 1
If j = Len (word) Then
MsgBox "Ви виграли!"
Exit For
End If
End If
Next i
End Sub
8. Висновок
Розроблена програма мовою Visual Basic, написана з використанням об'єктно-орієнтованого програмування, дозволяє відпочити і розслабитися людині. Дану програму, звичайно, можна поліпшити шляхом додавання нових слів для вгадування, і зміни старих.9. Список літератури
1. Мазний Г.Л., Прогулова Т.Б. Методичний посібник до курсового проектування з вищої математики та іформатіке. - Дубна: Міжнародний університет природи, суспільства і людини "Дубна", 1996.2. О. І. Мельникова, А. Ю. Бонюшкіна. Навчальний посібник по Технології програмування. - Дубна: Міжнародний університет природи, суспільства і людини "Дубна", 2001.