Разработка программы «Лабиринт»

Автор работы: Пользователь скрыл имя, 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
Список использованных источников

Содержимое работы - 1 файл

ГОТОВАЯ КУРСОВАЯ .doc

— 205.50 Кб (Скачать файл)
 

       Sender – ссылка на объект-отправитель события.

       Объект  класса EventArgs не содержит данных.

       Объект класса MouseEventArgs имеет свойства:

    • Button типа MouseButton получает сведения о нажатой кнопке мыши (MouseButton.Left, если нажата левая кнопка мыши, MouseButton.Right – правая кнопка мыши, MouseButton.Middle – средняя кнопка мыши);
    • Clicks типа Integer получает число нажатий и отпусканий кнопки мыши;
    • Delta типа Integer получает число со знаком, указывающее количество делений, на которое повернулось колесико мыши (делением называется один зубец колесика мыши);
    • X типа Integer получает координату x указателя мыши на момент создания события;
    • Y типа Integer получает координату у указателя мыши на момент создания события.

 

        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.

 

Список использованных источников

  1. Библиотека MSDN (по-русски) [Электронный ресурс] – Электрон. дан. – Microsoft Corporation, 2010 – Режим доступа: http://msdn.microsoft.com/ru-ru/library/ms123401.aspx, свободный. – Загл. с экрана. – Яз. рус.
  2. Долженков В. Visual Basic .NET. Учебный курс / В. Долженков, М. Мозговой. – СПб., Питер, 2003. – 464 с.

 

Приложение А 
Листинг программы

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.MouseEventArgs) Handles L.MouseDown

        'Здесь мы описываем условия по которым будет передвигаться фишка

       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

Информация о работе Разработка программы «Лабиринт»