Реферат: Реверси Visual Basic и Word-отчёт - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Реверси Visual Basic и Word-отчёт

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 843 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

18 МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ИНСТИТУТ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) ДИСЦИПЛИНА «ИНФОРМАТИКА» КУРСОВАЯ РАБОТА НА ТЕМУ: Создание игры “Реверси”, при помощи языка программирования 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 идентичных, ничем не отличающихся друг от друга кнопки, которые будут играть роль шашек, заполнение которых своим цветом и является целью игры. Все эти кнопки имеют одинаковое имя – Command 1 . Их цвет (параметр BackColor ) жёлтый. Важно также отметить, что на кнопках ничего не написано (параметр Caption не заполнен). Кнопки имеют форму квадратов, т.е. параметры Width (ширина) и Height (высота) имеют одинаковые значения, в нашем случае эти значения равны 495. Создание интерфейса программы Помимо этих 64 кнопок, на форме мы располагаем кнопку для начала игры, её параметры следующие: имя – ComNew , она светлого жёлтого цвета( BackColor ), в отличие от тех 64 кнопок, на этой есть надпись( Caption ) – Новая игра, т.е. из названия следует, что после нажатия на эту кнопку начнётся новая игра, ширина( Width ) и высота( Height ) на этот раз отличаются по своим значениям, т.к. кнопка имеет прямоугольную форму. Теперь, когда поле и кнопка начала игры создана, мы создаём при помощи элемента TextBox , два окошка, в которых будут отображаться кол-ва очков играющих сторон. Таких окна нам нужно два (т.к. количество игроков в нашей версии программы равно двум), они имеют имена Text 1 и Text 2 соответственно. Параметр Text для этих двух окон не заполняется, так как в них будут отображаться числа, равные кол-ву квадратов, занятых одной из сторон ( Text 1 для белых шашек, Text 2 для чёрных) на игровом поле, а изначально эти два окна должны быть пусты. Затем, при помощи элемента Label , мы создаём две надписи, и располагаем их над окошками где будут выводиться очки играющих (см. выше), эти две надписи создаются для удобства пользователя, чтобы было видно какое из окон отображает кол-во чёрных шашек, а какое кол-во белых. Надписи имеют параметры: Имена – Label 1 и Label 2, на одной из них написано “Белые”, а на второй “Чёрные”, т.е. параметры Caption заполняются соответствующим образом. Параметры текста (параметр Font ) этих названий имеют следующий вид: Шрифт - Arial , начертание – жирный курсив, размер шрифта – 18. Текст на надписях расположен в центре (параметр Alignment ). Напоследок создаётся кнопка выполняющая операцию выхода из игры. Имя – ComEnd , надпись ( Caption ) – ВЫХОД . Написание кода программы для кнопки Новая игра Создание программного кода является основным этапом в создании любой программы. Код представляет собой алгоритм, на основе которого будет действовать программа. Одна из самых важнейших частей программного кода связана с кнопкой Новая игра ( ComNew ), при её нажатии выполняются следующий действия: Во-первых, стираются все “окрашенные” шашки на игровом поле: Col = vbBlack For Index = 0 To 63 Command1.Item(Index).BackColor = vbYellow Command1.Item(Index).Enabled = True Next Index Эти строчки означают, что поступает команда для всех этих кнопок поменять цвет на жёлтый. Однако это не все операции, которые происходят при нажатии на кнопку Новая игра, также происходит окраска 4 шашек, расположенных в центре поля (это 27-ая, 28-ая, 35-ая и 36-ые шашки), две из шашек становятся чёрными, а две других белыми: Command1.Item(27).BackColor = vbWhite Command1.Item(28).BackColor = vbBlack Command1.Item(35).BackColor = vbBlack Command1.Item(36).BackColor = vbWhite Command1.Item(27).Enabled = False Command1.Item(28).Enabled = False Command1.Item(35).Enabled = False Command1.Item(36).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 шашек ( Command 1 ) пишется операция, которая выбирает цвет следующего хода, в зависимости от того какой цвет ходил в прошлый раз, как раз тут используется переменная Col . Затем создаётся процедура, которая выполняет такую функцию: после нажатия на шашку, она окрашивается в тот цвет, который сейчас активен (т.е. чей сейчас ход). Одновременно с этим задаётся команда, что такая шашка уже не может быть нажата игроками ещё раз, то есть её свойство Enabled становится False . If Col = vbBlack Then Col = vbWhite Else Col = vbBlack End If Command1.Item(Index).BackColor = Col Command1.Item(Index).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 и B lack задаются нулевые значения, что необходимо для дальнейшего корректного подсчета количества очков, полученных игроками в ходе игры. Далее пишутся логические выражения, обеспечивающие смену цвета шашек, при выигрышном ходе игрока, то есть таком, при котором происходит двустороннее «окружение» шашек противника шашками своего цвета. Происходит это за счет использования циклического алгоритма For с шагом Step равным (-1) для переменной A . Например: For A = Down To 1 Step -1 … Next A Внутрь это циклического алгоритма вкладывается разветвляющийся алгоритм, реализованный с помощью неполной команды ветвления с проверкой цвета фона необходимой клавиши, определяемой математическим выражением с параметром A . Например : If Command1.Item(Index - 7 * A).BackColor = Col Then … End If В тело этого алгоритма вложена ещё одна неполная команда ветвления аналогичного вида, проверяющая свойство Enabled выбираемой при помощи математического выражения с параметром A кнопки, например: If Command1.Item(Index - 7 * (A - 1)).Enabled = False Then Command1.Item(Index - 7 * (A - 1)).BackColor = Col End I f Таким образом в совокупности они выглядят следующим образом (примерный вариант): For A = Vert - 1 To 1 Step -1 If Command1.Item(Index - 7 * A).BackColor = Col Then If Command1.Item(Index - 7 * (A - 1)).Enabled = False Then Command1.Item(Index - 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.Item(Index + 8 * A).BackColor = Col Then If Command1.Item(Index + 8 * (A - 1)).Enabled = False Then Command1.Item(Index + 8 * (A - 1)).BackColor = Col Else End If End If Next A For A = Vert - 1 To 1 Step -1 If Command1.Item(Index - 8 * A).BackColor = Col Then If Command1.Item(Index - 8 * (A - 1)).Enabled = False Then Command1.Item(Index - 8 * (A - 1)).BackColor = Col End If End If Next A For A = Right To 1 Step -1 If Command1.Item(Index + A).BackColor = Col Then If Command1.Item(Index + A - 1).Enabled = False Then Command1.Item(Index + A - 1).BackColor = Col End If End If Next A For A = Gor - 1 To 1 Step -1 If Command1.Item(Index - A).BackColor = Col Then If Command1.Item(Index - A + 1).Enabled = False Then Command1.Item(Index - A + 1).BackColor = Col End If End If Next A For A = Down To 1 Step -1 If Command1.Item(Index + 7 * A).BackColor = Col Then If Command1.Item(Index + 7 * (A - 1)).Enabled = False Then Command1.Item(Index + 7 * (A - 1)).BackColor = Col Else End If End If Next A For A = Vert - 1 To 1 Step -1 If Command1.Item(Index - 7 * A).BackColor = Col Then If Command1.Item(Index - 7 * (A - 1)).Enabled = False Then Command1.Item(Index - 7 * (A - 1)).BackColor = Col End If End If Next A For A = Down - 1 To 1 Step -1 If Command1.Item(Index + 9 * A).BackColor = Col Then If Command1.Item(Index + 9 * (A - 1)).Enabled = False Then Command1.Item(Index + 9 * (A - 1)).BackColor = Col Else End If End If Next A For A = Vert - 2 To 1 Step -1 If Command1.Item(Index - 9 * A).BackColor = Col Then If Command1.Item(Index - 9 * (A - 1)).Enabled = False Then Command1.Item(Index - 9 * (A - 1)).BackColor = Col End If End If Next A После это происходит процесс подсчета очков обоих игроков. Для этого вводится циклический алгоритм For Index = 0 To 63 ... Next Index Внутри которого происходит проверка цветов шашек при помощи команды выбора Select , где предположением служит Command1.Item(Index).BackColor, то есть цвет фона шашки. В соответствии со значениями этого предположения изменяются переменные White и Black , значения которых выводятся в элементы Text1 и Text2. For Index = 0 To 63 Select Case Command1.Item(Index).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.Item(Index).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 ComEnd_Click() End End Sub На этом разработка кода программы завершена и программа игры Реверси готова к использованию. Заключительная часть Таким образом, создание программы в среде программирования Visual Basic можно разделить на 2 основных этапа: 1) создание интерфейса 2) написание программного кода Именно возможность создания и просмотра интерфейса программы в режиме проектирования и является отличительной чертой среды Visual Basic , как графической, делающей её гибкой и приемлемой для решения разнообразных задач, в том числе и для создания игр, что было рассмотрено нами на примере создания игры «Реверси». Приложение (исходный код программы) Dim Col As String Dim Down, Right, Vert, Gor, A As Integer Private Sub ComNew_Click() Col = vbBlack For Index = 0 To 63 Command1.Item(Index).BackColor = vbYellow Command1.Item(Index).Enabled = True Next Index Command1.Item(27).BackColor = vbWhite Command1.Item(28).BackColor = vbBlack Command1.Item(35).BackColor = vbBlack Command1.Item(36).BackColor = vbWhite Command1.Item(27).Enabled = False Command1.Item(28).Enabled = False Command1.Item(35).Enabled = False Command1.Item(36).Enabled = False Text1.Text = 2 Text2.Text = 2 End Sub Private Sub Command1_Click(Index As Integer) If Col = vbBlack Then Col = vbWhite Else Col = vbBlack End If Command1.Item(Index).BackColor = Col Command1.Item(Index).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.Item(Index + 8 * A).BackColor = Col Then If Command1.Item(Index + 8 * (A - 1)).Enabled = False Then Command1.Item(Index + 8 * (A - 1)).BackColor = Col Else End If End If Next A For A = Vert - 1 To 1 Step -1 If Command1.Item(Index - 8 * A).BackColor = Col Then If Command1.Item(Index - 8 * (A - 1)).Enabled = False Then Command1.Item(Index - 8 * (A - 1)).BackColor = Col End If End If Next A For A = Right To 1 Step -1 If Command1.Item(Index + A).BackColor = Col Then If Command1.Item(Index + A - 1).Enabled = False Then Command1.Item(Index + A - 1).BackColor = Col End If End If Next A For A = Gor - 1 To 1 Step -1 If Command1.Item(Index - A).BackColor = Col Then If Command1.Item(Index - A + 1).Enabled = False Then Command1.Item(Index - A + 1).BackColor = Col End If End If Next A For A = Down To 1 Step -1 If Command1.Item(Index + 7 * A).BackColor = Col Then If Command1.Item(Index + 7 * (A - 1)).Enabled = False Then Command1.Item(Index + 7 * (A - 1)).BackColor = Col Else End If End If Next A For A = Vert - 1 To 1 Step -1 If Command1.Item(Index - 7 * A).BackColor = Col Then If Command1.Item(Index - 7 * (A - 1)).Enabled = False Then Command1.Item(Index - 7 * (A - 1)).BackColor = Col End If End If Next A For A = Down - 1 To 1 Step -1 If Command1.Item(Index + 9 * A).BackColor = Col Then If Command1.Item(Index + 9 * (A - 1)).Enabled = False Then Command1.Item(Index + 9 * (A - 1)).BackColor = Col Else End If End If Next A For A = Vert - 2 To 1 Step -1 If Command1.Item(Index - 9 * A).BackColor = Col Then If Command1.Item(Index - 9 * (A - 1)).Enabled = False Then Command1.Item(Index - 9 * (A - 1)).BackColor = Col End If End If Next A For Index = 0 To 63 Select Case Command1.Item(Index).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.Item(Index).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 ComEnd_Click() End End Sub
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Дорогой Дедушка Мороз!
Я целый год вёл себя хорошо. Можно, я хотя бы в новогоднюю ночь буду вести себя плохо?
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru