Автор работы: Пользователь скрыл имя, 15 Февраля 2012 в 18:52, курсовая работа
Целью курсовой работы является получение опыта самостоятельной разработки в соответствии с заданием пользовательского приложения, работающего под управлением ОС Microsoft Windows, в среде разработки приложений Microsoft Visual Basic .Net, а также получение навыка составления пояснительной записки и оформления в соответствии с требованиями, принятыми на факультете «Информационные системы в управлении».
Введение	4
1 Среда разработки приложений Microsoft Visual Basic .Net	5
1.1 Основы языка Visual Basic	5
1.2 Элементы управления в Microsoft Visual Basic .Net	7
1.3 Обработка событий в Microsoft Visual Basic .Net	7
2 Описание программы	14
2.1 Блок-схема программы	14
2.2 Демонстрация работы программы	16
Заключение	17
Список использованных источников
Sender – ссылка на объект-отправитель события.
Объект класса EventArgs не содержит данных.
Объект класса MouseEventArgs имеет свойства:
 
2. Описание программы
Приложение представляет собой стандартное окно Windows фиксированных размеров, которое можно свернуть или закрыть. В окне имеется стандартное меню, включающее разделы «Игра» и «Справка». Раздел «Игра» включает подразделы «Новая игра», «Отменить ход» (доступна только для последнего сделанного хода) и «Выход». Раздел «Справка» содержит подразделы «Вызов справки» и «О программе…». Программа поддерживает два способа управления: с помощью мыши и с помощью клавиатуры.
В заголовке окна отображается информация о количестве сделанных ходов.
       В 
таблице 2.1 перечислены используемые 
в программе глобальные константы 
и переменные, в таблице 2.2 – элементы 
управления, в таблице 2.3 – процедуры и 
функции. 
Таблица 2.1 – Глобальные константы и переменные
| Имя | Тип | Назначение | 
| rn | Integer | Координаты куда мы кликнули мышкой | 
| cn | Integer | Координаты куда мы кликнули мышкой | 
| Mass | Комната | Масив в которм храняться данные комнаты о проходах | 
| mas(7, 7) | Integer | Массив где находится информация где находится фишка | 
| R,c | Integer | Координаты фишки | 
| mask(7, 7) | Integer | Масив где находятся информация о ключах и дверях | 
| smas(7, 7) | Integer | Координаты фишки прошлого хода | 
| Имя | Тип | Назначение | 
| sr, sc | Integer | Координаты фишки прошлого хода | 
| st | Integer | Количество ходов прошлого хода | 
| s | Integer | Количество ходов | 
| KA, KB, KC, KD, KE, KF, KG | String | Информация о ключах если 0 нету если 1 то есть | 
| sKA, sKB, sKC, sKD, sKE, sKF, sKG | String | Старая информация о ключах | 
Таблица 2.3 – Процедуры и функции
| Имя | Тип | Назначение | 
| NewGame | Пользовательская процедура | Инициализация начальных значений параметров игры | 
| Form1_Load | Пользовательская функция | Инициализация игры | 
| L_MouseDown | Пользовательская процедура | Передвижение фишки | 
| PictureBox1_Paint | Пользовательская процедура | Рисует ключи там где стоит 0 | 
| НазадToolStripMenuItem_Click_1 | Пользовательская процедура | Действие Назад | 
| Ход() | Пользовательская процедура | Записание ходов | 
| Проверка() | Пользовательская процедура | Происходит возврат домино. | 
 
2.1 Блок-схема программы
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Программа PictureBox1_MouseDown
      
 Рисует ключи 
там где написано 0  
 
 
 
 
 
 
 
 
 
 
 
 
Проверка есть ли в ячейке ключ
       
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ход назад
       
 
2.2 
Демонстрация работы 
программы
Для начала работы с программой нужно запустить файл Лабиринт.exe. Появится окно программы (рисунок 2.6).
Рисунок 2.6 – окно программы «Лабиринт»
 
Заключение
       В 
ходе выполнения курсовой работы были 
более подробно изучены  
и изложены в пояснительной записке следующие 
вопросы:
Полученные знания использованы на практике. Результатом работы является приложение-игра «Лабиринт», работающее под ОС Windows.
 
Список использованных источников
 
Приложение 
А 
Листинг программы
Public Class Form1
Const p = 30 ' ширина клетки поля в пиксв.
Dim Mass(14, 15) As Комната 'Масив в которм храняться данные комнаты о проходах
Dim mas(14, 15), r, c As Integer
Dim mask(7, 7) As Integer
Dim smas(14, 15), sr, sc, st, s As Integer 'Массив для отмены хода
    Dim KA, KB, 
KC, KD, KE, KF, KG, sKA, sKB, sKC, sKD, sKE, sKF, sKG As String 
Sub newgame()
        
'Проход L-Слева P-Справа V-Сверху N-Снизу, 
LN-Слева и снизу, LP... 
Mass(1, 1).PN() : Mass(1, 2).LPN() : Mass(1, 3).LPN() : Mass(1, 4).LPN() : Mass(1, 5).LPN() : Mass(1, 6).LPN() : Mass(1, 7).LN()
Mass(2, 1).PVN() : Mass(2, 2).LPVN() : Mass(2, 3).LPVN() : Mass(2, 4).LVN() : Mass(2, 5).LPVN() : Mass(2, 6).LPVN() : Mass(2, 7).LVN()
Mass(3, 1).PVN() : Mass(3, 2).LPVN() : Mass(3, 3).LPVN() : Mass(3, 4).LPVN() : Mass(3, 5).LPVN() : Mass(3, 6).LPVN() : Mass(3, 7).LVN()
Mass(4, 1).PV() : Mass(4, 2).LPVN() : Mass(4, 3).LPVN() : Mass(4, 4).LPVN() : Mass(4, 5).LPVN() : Mass(4, 6).LPVN() : Mass(4, 7).LVN()
Mass(5, 1).PN() : Mass(5, 2).LPVN() : Mass(5, 3).LPVN() : Mass(5, 4).LPVN() : Mass(5, 5).LPV() : Mass(5, 6).LPVN() : Mass(5, 7).LVN()
Mass(6, 1).PVN() : Mass(6, 2).LPVN() : Mass(6, 3).LPVN() : Mass(6, 4).LVN() : Mass(6, 5).PN() : Mass(6, 6).LPVN() : Mass(6, 7).LVN()
Mass(7, 1).V() : Mass(7, 2).PV() : Mass(7, 3).LPV() : Mass(7, 4).LPV() : Mass(7, 5).LV() : Mass(7, 6).PV() : Mass(7, 7).LV()
s = 0
KA = 0
KB = 0
KC = 0
KD = 0
KE = 0
KF = 0
KG = 0
Label3.Text = " Ключ А-" + KA + " Ключ B-" + KB + " Ключ C-" + KC + " Ключ D-" + KD + " Ключ E-" + KE + " Ключ F-" + KF + " Ключ G-" + KG
For i = 1 To 13
For j = 1 To 15
mas(i, j) = 1
Next
Next
mask(4, 1) = 1 : mask(7, 2) = 2 : mask(4, 2) = 3 : mask(6, 5) = 4 : mask(5, 5) = 5 : mask(7, 6) = 6 : mask(7, 7) = 7
mask(2, 5) = 8 : mask(5, 1) = 9 : mask(6, 2) = 10 : mask(2, 6) = 11 : mask(3, 3) = 12 : mask(7, 1) = 13 : mask(7, 5) = 14
'Начальные координаты нашей фишки
r = 4
c = 1
mas(4, 1) = 0
Label2.Text = s
Me.Refresh()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'Создаем экзэмпляр класса
For i = 1 To 14
For j = 1 To 15
Mass(i, j) = New Комната
            
Next j 
Next i
newgame()
End Sub
    Private Sub 
L_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.
'Здесь мы описываем условия по которым будет передвигаться фишка
Dim rn, cn As Integer
rn = e.Y \ p + 1
cn = e.X \ p + 1
        
If mas(rn, cn) = 1 And r - rn = -1 And c = cn And Mass(r, c).NN = 1 
And Mass(rn, cn).VV = 1 Then 
st = s
sr = r
sc = c
Ход()
mas(rn, cn) = 0
mas(r, c) = 1
r = rn
c = cn
            
s = s + 1 
            
Проверка() 
 
        
End If 
If mas(rn, cn) = 1 And r - rn = 1 And c = cn And Mass(r, c).VV = 1 And Mass(rn, cn).NN = 1 Then
st = s
sr = r
sc = c
Ход()
mas(rn, cn) = 0
mas(r, c) = 1
r = rn
c = cn
Проверка()
            
s = s + 1 
        
End If 
If mas(rn, cn) = 1 And r = rn And c - cn = -1 And Mass(r, c).PP = 1 And Mass(rn, cn).LL = 1 Then
Ход()
st = s
sr = r
st = s
mas(r, c) = 1
mas(rn, cn) = 0
r = rn
c = cn
Проверка()
s = s + 1
        
End If 
If mas(rn, cn) = 1 And r = rn And c - cn = 1 And Mass(r, c).LL = 1 And Mass(rn, cn).PP = 1 Then