МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ИНСТИТУТ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ДИСЦИПЛИНА ИНФОРМАТИКА КУРСОВАЯ РАБОТА НА ТЕМУ Создание игры Реверси, при помощи языка программирования Visual Basic Выполнил студент гр. Москва, 20 год. Содержание. Введение. 3 Описание хода работы. 4 Создание игрового интерфейса.
4 Написание кода программы для кнопки Новая Игра. 6 Написание программного кода для игрового поля. 8 Заключительная часть 14 Приложение исходный код программы 15 Создание игры Реверси, при помощи языка программирования Visual Basic Введение Задачей, поставленной при написании курсовой работы, стало создание логической игры
Реверси в среде программирования Visual Basic. При работе над ней использовалась сама среда программирования Visual Basic для создания непосредственно самой игры, а так же средство Microsoft Word для создания отчета о проделанной работе. Интерфейс данной программы прост, как и действия, выполняемые пользователями. Поле для игры представляет собой квадрат жлтых шашек 8Ч8.
Для начала игры игроку необходимо нажать на кнопку Новая игра, а далее нажимать на шашки поля так, чтобы шашки противника оказались зажаты. Для этого при нажатии шашки будут поочередно менять свой цвет, либо на белый, либо на чрный. В случае, когда игра закончена, пользователю нужно снова нажать кнопку Новая игра, для начала новой партии. Описание хода работы
Создание игрового интерфейса Одна из важнейших задач, которая стоит перед тем, кто хочет создать при помощи Microsoft Visual Basic любую программу, пусть даже самую простейшую, это разработка интерфейса этой программы. Используя панель инструментов, мы создам следующий интерфейс Выбрав элемент CommandButtonКомандная Кнопка, мы создам на нашей форме 64 идентичных, ничем не отличающихся друг от друга кнопки, которые будут играть роль шашек, заполнение которых своим цветом и является целью
игры. Все эти кнопки имеют одинаковое имя Command1. Их цвет параметр BackColor жлтый. Важно также отметить, что на кнопках ничего не написано параметр Caption не заполнен. Кнопки имеют форму квадратов, т.е. параметры Widthширина и Heightвысота имеют одинаковые значения, в нашем случае эти значения равны 495. Создание интерфейса программы Помимо этих 64 кнопок, на форме мы располагаем кнопку для начала игры,
е параметры следующие имя ComNew, она светлого жлтого цветаBackColor, в отличие от тех 64 кнопок, на этой есть надписьCaption Новая игра, т.е. из названия следует, что после нажатия на эту кнопку начнтся новая игра, ширинаWidth и высотаHeight на этот раз отличаются по своим значениям, т.к. кнопка имеет прямоугольную форму. Теперь, когда поле и кнопка начала игры создана, мы создам при помощи элемента TextBox, два окошка, в которых будут отображаться кол-ва очков играющих сторон.
Таких окна нам нужно два т.к. количество игроков в нашей версии программы равно двум, они имеют имена Text1 и Text2 соответственно. Параметр Text для этих двух окон не заполняется, так как в них будут отображаться числа, равные кол-ву квадратов, занятых одной из сторон Text1 для белых шашек, Text2 для чрных на игровом поле, а изначально эти два окна должны быть пусты. Затем, при помощи элемента Label, мы создам две надписи, и располагаем их над окошками где будут выводиться
очки играющих см. выше, эти две надписи создаются для удобства пользователя, чтобы было видно какое из окон отображает кол-во чрных шашек, а какое кол-во белых. Надписи имеют параметры Имена Label1 и Label2, на одной из них написано Белые, а на второй Чрные, т.е. параметры Caption заполняются соответствующим образом. Параметры текста параметр Font этих названий имеют следующий вид
Шрифт - Arial, начертание жирный курсив, размер шрифта 18. Текст на надписях расположен в центре параметр Alignment. Напоследок создатся кнопка выполняющая операцию выхода из игры. Имя ComEnd, надпись Caption ВЫХОД. Написание кода программы для кнопки Новая игра Создание программного кода является основным этапом в создании любой программы.
Код представляет собой алгоритм, на основе которого будет действовать программа. Одна из самых важнейших частей программного кода связана с кнопкой Новая игра ComNew, при е нажатии выполняются следующий действия Во-первых, стираются все окрашенные шашки на игровом поле Col vbBlack For Index 0 To 63 Command1.BackColor vbYellow
Command1.Index Эти строчки означают, что поступает команда для всех этих кнопок поменять цвет на жлтый. Однако это не все операции, которые происходят при нажатии на кнопку Новая игра, также происходит окраска 4 шашек, расположенных в центре поля это 27-ая, 28-ая, 35-ая и 36-ые шашки, две из шашек становятся чрными, а две других белыми Command1.Item27.BackColor vbWhite Command1.Item28.BackColor vbBlack
Command1.Item35.BackColor vbBlack Command1.Item36.BackColor vbWhite Command1.Item27.Enabled False Command1.Item28.Enabled False Command1.Item35.Enabled False Command1.Item36.Enabled False До нажатия клавиши Новая игра После нажатия Эта операция необходима для того, чтобы играющие вначале были в равных условиях, и у каждого уже было какое-то кол-во шашек на поле.
В состав кода для этой кнопки входят также следующие действия во-первых, задатся цвет первого хода, тут нужно обратить внимание на то, что этот цвет ходит первым после нажатия кнопки Новая игра, а не после появления 4 уже покрашенных шашек. Во-вторых, в текстовые окна TextBox вводятся исходные данные, они равны 2, так как после нажатия на кнопку Новая игра, у каждого из играющего находиться по две, уже окрашенных шашки
Text1.Text 2 Text2.Text 2 На этом заканчивается написание кода для кнопки Новая Игра. Написание программного кода для игрового поля Часть программного кода, касающегося самого игрового поля, является самой главной. В первую очередь мы задам 6 переменных, одна из них переменная Col, которая будет относиться к цвету имеет тип String, это стартовый тип, предназначенный для описания
символов и строк символов. Другие 5 переменных Down,Right, Vert, Gor, A, необходимые для вычислений имеют тип Integer, предназначенный для хранения целых чисел, а также чисел со знаком. Dim Col As String Dim Down, Right, Vert, Gor, A As Integer Теперь для массива управления 64 шашек Command1 пишется операция, которая выбирает цвет следующего
хода, в зависимости от того какой цвет ходил в прошлый раз, как раз тут используется переменная Col. Затем создатся процедура, которая выполняет такую функцию после нажатия на шашку, она окрашивается в тот цвет, который сейчас активен т.е. чей сейчас ход. Одновременно с этим задатся команда, что такая шашка уже не может быть нажата игроками ещ раз, то есть е свойство Enabled становится False. If Col vbBlack
Then Col vbWhite Else Col vbBlack End If Command1.ItemIndex.BackColor Col Command1.ItemIndex.Enabled False Следующий шаг в написание алгоритма для этих кнопок это вычисление по формулам координат шашек по вертикальной и горизонтальной осям. Происходит это по следующим формулам Vert Index 8 1 Gor 9 - 7 Vert - Index - Vert Down 8 - Vert Right 8
Gor White 0 Black 0 На этом же шаге для некоторых переменных, которые будут позже использованы в дальнейших операциях, задаются исходные значения. Так переменным Down, Right, являющимися пределами максимально изменения параметра A во многих следующих циклах кода, задаются значения 8 Vert и 8 Gor соответственно. Также переменным White и
Black задаются нулевые значения, что необходимо для дальнейшего корректного подсчета количества очков, полученных игроками в ходе игры. Далее пишутся логические выражения, обеспечивающие смену цвета шашек, при выигрышном ходе игрока, то есть таком, при котором происходит двустороннее окружение шашек противника шашками своего цвета. Происходит это за счет использования циклического алгоритма For с шагом Step равным -1 для переменной A. Например
For A Down To 1 Step -1 Next A Внутрь это циклического алгоритма вкладывается разветвляющийся алгоритм, реализованный с помощью неполной команды ветвления с проверкой цвета фона необходимой клавиши, определяемой математическим выражением с параметром A. Например If Command1.ItemIndex - 7 A.BackColor Col Then End If В тело этого алгоритма вложена ещ одна неполная команда ветвления аналогичного вида, проверяющая
свойство Enabled выбираемой при помощи математического выражения с параметром A кнопки, например If Command1.ItemIndex - 7 A - 1.Enabled False Then Command1.ItemIndex - 7 A - 1.BackColor Col End If Таким образом в совокупности они выглядят следующим образом примерный вариант For A Vert - 1 To 1 Step -1 If Command1.ItemIndex -
7 A.BackColor Col Then If Command1.ItemIndex - 7 A - 1.Enabled False Then Command1.ItemIndex - 7 A - 1.BackColor Col End If End If Next A Вышеприведенный цикл последовательно производит следующие логические операции 1 шаг задает численное значение переменной A 2 шаг проверяет цвет фона, выбираемой согласно параметру A, шашки и при его совпадении со значением переменной
Col, переходит к проверке следующего условия, то есть шагу 3, а в обратном случае возвращается к шагу 1 3 шаг проверяет, была ли нажата ранее кнопка, определяющаяся выражением с параметром A, если условие выполняется, то данная шашка закрашивается цветом, определяющимся переменной Col, в обратном случае возвращается на шаг 1. До нажатия помеченной кнопки После нажатия пользователем кнопки Циклов таких было использовано 8, связанно это с направлениями изменения
определяющего параметра A For A Down To 1 Step -1 If Command1.ItemIndex 8 A.BackColor Col Then If Command1.ItemIndex 8 A - 1.Enabled False Then Command1.ItemIndex 8 A - 1.BackColor Col Else End If End If Next A For A Vert - 1 To 1 Step -1 If Command1.ItemIndex - 8 A.BackColor Col Then If Command1.ItemIndex -
8 A - 1.Enabled False Then Command1.ItemIndex - 8 A - 1.BackColor Col End If End If Next A For A Right To 1 Step -1 If Command1.ItemIndex A.BackColor Col Then If Command1.ItemIndex A - 1.Enabled False Then Command1.ItemIndex A - 1.BackColor Col End If End If
Next A For A Gor - 1 To 1 Step -1 If Command1.ItemIndex - A.BackColor Col Then If Command1.ItemIndex - A 1.Enabled False Then Command1.ItemIndex - A 1.BackColor Col End If End If Next A For A Down To 1 Step -1 If Command1.ItemIndex 7 A.BackColor Col Then If Command1.ItemIndex 7 A - 1.Enabled
False Then Command1.ItemIndex 7 A - 1.BackColor Col Else End If End If Next A For A Vert - 1 To 1 Step -1 If Command1.ItemIndex - 7 A.BackColor Col Then If Command1.ItemIndex - 7 A - 1.Enabled False Then Command1.ItemIndex - 7 A - 1.BackColor Col End If End If Next A For A Down -
1 To 1 Step -1 If Command1.ItemIndex 9 A.BackColor Col Then If Command1.ItemIndex 9 A - 1.Enabled False Then Command1.ItemIndex 9 A - 1.BackColor Col Else End If End If Next A For A Vert - 2 To 1 Step -1 If Command1.ItemIndex - 9 A.BackColor Col Then If Command1.ItemIndex -
9 A - 1.Enabled False Then Command1.ItemIndex - 9 A - 1.BackColor Col End If End If Next A После это происходит процесс подсчета очков обоих игроков. Для этого вводится циклический алгоритм For Index 0 To 63 Next Index Внутри которого происходит проверка цветов шашек при помощи команды выбора Select, где предположением служит Command1.ItemIndex.
BackColor, то есть цвет фона шашки. В соответствии со значениями этого предположения изменяются переменные White и Black, значения которых выводятся в элементы Text1 и Text2. For Index 0 To 63 Select Case Command1.ItemIndex.BackColor Case Is vbWhite White White 1 Case Is vbBlack Black Black 1 End Select Text1.Text White Text2.Text
Black Next Index После этого в аналогичном цикле происходит подсчет количества уже нажатых кнопок, достигается это путем вложения в тело цикла неполной команды ветвления с проверкой условия о нажатии кнопки. A 0 For Index 0 To 63 If Command1.ItemIndex.Enabled False Then A A 1 End If Next Index If A 64 Then приглашение Игра закончена.Начните снова If White Black Then сообщение
Белые выиграли Else If White Black Then сообщение Чрные выиграли Else сообщение Ничья End If End If MsgBox сообщение, vbExclamation, приглашение End If Последнее описываемое событие нажатие на кнопку ВЫХОД. Самый простой алгоритм Private Sub ComEndClick End End Sub На этом разработка кода программы завершена и программа игры
Реверси готова к использованию. Заключительная часть Таким образом, создание программы в среде программирования Visual Basic можно разделить на 2 основных этапа 1 создание интерфейса 2 написание программного кода Именно возможность создания и просмотра интерфейса программы в режиме проектирования и является отличительной чертой среды Visual Basic, как графической, делающей е гибкой и приемлемой для решения разнообразных
задач, в том числе и для создания игр, что было рассмотрено нами на примере создания игры Реверси. Приложение исходный код программы Dim Col As String Dim Down, Right, Vert, Gor, A As Integer Private Sub ComNewClick Col vbBlack For Index 0 To 63 Command1.ItemIndex.BackColor vbYellow Command1.ItemIndex.
Enabled True Next Index Command1.Item27.BackColor vbWhite Command1.Item28.BackColor vbBlack Command1.Item35.BackColor vbBlack Command1.Item36.BackColor vbWhite Command1.Item27.Enabled False Command1.Item28.Enabled False Command1.Item35.Enabled False Command1.Item36.Enabled False Text1.Text 2 Text2.Text 2
End Sub Private Sub Command1ClickIndex As Integer If Col vbBlack Then Col vbWhite Else Col vbBlack End If Command1.ItemIndex.BackColor Col Command1.ItemIndex.Enabled False Vert Index 8 1 Gor 9 - 7 Vert - Index - Vert Down 8 - Vert Right 8 - Gor White 0 Black 0 For
A Down To 1 Step -1 If Command1.ItemIndex 8 A.BackColor Col Then If Command1.ItemIndex 8 A - 1.Enabled False Then Command1.ItemIndex 8 A - 1.BackColor Col Else End If End If Next A For A Vert - 1 To 1 Step -1 If Command1.ItemIndex - 8 A.BackColor Col Then If Command1.ItemIndex -
8 A - 1.Enabled False Then Command1.ItemIndex - 8 A - 1.BackColor Col End If End If Next A For A Right To 1 Step -1 If Command1.ItemIndex A.BackColor Col Then If Command1.ItemIndex A - 1.Enabled False Then Command1.ItemIndex A - 1.BackColor Col End If End If
Next A For A Gor - 1 To 1 Step -1 If Command1.ItemIndex - A.BackColor Col Then If Command1.ItemIndex - A 1.Enabled False Then Command1.ItemIndex - A 1.BackColor Col End If End If Next A For A Down To 1 Step -1 If Command1.ItemIndex 7 A.BackColor Col Then If Command1.ItemIndex 7 A - 1.Enabled
False Then Command1.ItemIndex 7 A - 1.BackColor Col Else End If End If Next A For A Vert - 1 To 1 Step -1 If Command1.ItemIndex - 7 A.BackColor Col Then If Command1.ItemIndex - 7 A - 1.Enabled False Then Command1.ItemIndex - 7 A - 1.BackColor Col End If End If Next A For A Down -
1 To 1 Step -1 If Command1.ItemIndex 9 A.BackColor Col Then If Command1.ItemIndex 9 A - 1.Enabled False Then Command1.ItemIndex 9 A - 1.BackColor Col Else End If End If Next A For A Vert - 2 To 1 Step -1 If Command1.ItemIndex - 9 A.BackColor Col Then If Command1.ItemIndex -
9 A - 1.Enabled False Then Command1.ItemIndex - 9 A - 1.BackColor Col End If End If Next A For Index 0 To 63 Select Case Command1.ItemIndex.BackColor Case Is vbWhite White White 1 Case Is vbBlack Black Black 1 End Select Text1.Text White Text2.Text Black Next Index
A 0 For Index 0 To 63 If Command1.ItemIndex.Enabled False Then A A 1 End If Next Index If A 64 Then приглашение Игра закончена.Начните снова If White Black Then сообщение Белые выиграли Else If White Black Then сообщение Чрные выиграли Else сообщение Ничья End If End If MsgBox сообщение, vbExclamation, приглашение
End If End Sub Private Sub ComEndClick End End Sub
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |