Игра «Галочки-Нолики»
Тестирование игра программа Анализ результатов разработки программы Для тестирования работы программы были использованы различные варианты расположения фишек на различных полях. Программа работает правильно без явных сбоев. В таблице рекордов программа корректно выполняет считывание данных из файла и производит запись или перезапись данных в файл. End Sub — Завершение работы кнопки С остальными… Читать ещё >
Игра «Галочки-Нолики» (реферат, курсовая, диплом, контрольная)
ВВЕДЕНИЕ
Наименование программы Интеллектуальная логическая игра «Галочки-нолики».
Краткая характеристика
Игра «Галочки-нолики» позволяет пользователю выбрать поле 3×3, играть против компьютера и ходить крестиками во время игры. Данная игра предназначена для тренировки логического мышления пользователя.
Назначение программы Данная разработка дает возможность пользователю развить его логическое мышление, выбор поля позволяет заинтересовать пользователя и делает процесс игры разнообразным. Игра повышает интеллектуальный уровень пользователя, развивает его внимание и рефлекторные способности.
Данная контрольная работа посвящена разработке игры «Галочки-нолики», реализованная с применением объектно-ориентированного программирования.
Игра «Галочки-нолики», описанная в данной работе, является полноценным программным продуктом, готовым для использования. Она обладает доступным, понятным и наглядным для пользователя интерфейсом.
ПРОЕКТИРОВАНИЕ ПРОГРАММЫ Общая схема программы Программа состоит из следующих файлов:
Galochki-Noliki.exe — исполняемый файл;
Proekt1.vbpфайл, содержащий исходный текст программы;
2Описание основных составляющих игры «Галочки-Нолики»
Так как наше поле имеет размер 3×3.Игра включает в себя 18 не видимых для пользователя картинок, каждая имеет свое отдельное наименование Picture1 и так далее по счету. С Picture1 по Picture9 отвечают за «галочки», остальные начиная с Picture10 по Picture18, отвечают на «нолики». Так же отвечающих за них 18 кнопок имеющих наименования Command1 далее по счету. С Command1 по Command9 отвечают за работу Picture c «ноликами», то есть кнопки Command1 по Command9 соответствуют Picture10 по Picture18. По точно такому же принципу основаны кнопки начиная с Command10 по Command18 соответствуют Picture1 по Picture9.
Так же имеется два таймера Timer1 и Timer2. Timer1 отвечает за проверку на наличие комбинаций выигрыша, еще он отвечает за подсчет количества побед. Timer2 выполняет работу по проверке возможного ничейного исхода игры. Имеются так же три Frame, на Frame1 расположены две кнопки, это кнопка «Игра"(Command21) и кнопка «Выход"(Command24). На Frame2 расположены: 4 Label и три кнопки, это кнопка «Начать"(Command25), кнопка «Назад"(Command23), кнопка «Сброс"(Command20).
Так выглядит программа во время запуска:
Так во время работы:
Описание кода программы Кнопки и картинки логически приравнены друг к другу:
«Галочки»: Picture1=Command10; Picture2=Command11; Picture3=Command12;
Picture4=Command13; Picture5=Command14; Picture6=Command15; Picture7=Command16; Picture8=Command17; Picture9=Command18.
«Нолики»: Picture10=Command1; Picture11=Command2; Picture12=Command3;
Picture13=Command4; Picture14=Command5; Picture15=Command6; Picture16=Command7; Picture17=Command8; Picture18=Command9.
Объявление переменных
Dim n As IntegerПеременная «n» отвечает за подсчет очков игравшего «галочками»
Dim e As IntegerПеременная «e» отвечает за подсчет очков игравшего «ноликами»
Dim k As IntegerПеременная «k» выполняет работу с таймером по проверке ничьей
Command1 по Command18
Private Sub Command1_Click () — Начало работы кнопки
k = k + 1 — При нажатии на кнопку к переменной прибавляется плюс один.
Picture10.Visible = True — При нажатии появляется «нолик».
Command1.Left = 100 000 — Кнопка отправляется в космос, пользователь ее не видит
Command10.Left = 100 000- тоже самое происходит и с этой кнопкой, она отвечает за «галочку».
Command1.Visible = FalseТак как пользователь игравший за «нолики» уже сходил все
Command2.Visible = False — остальные кнопки работающие как «нолики» автоматически
Command3.Visible = False — исчезают, на их месте появляются кнопки «галочки»
Command4.Visible = False — функция Visible (Видимость) может иметь значение либо
Command5.Visible = False — True (Видимый) либо False (Невидимый).
Command6.Visible = False
Command7.Visible = False
Command8.Visible = False
Command9.Visible = False
If Picture2. Visible = True ThenЕсли Picture2(«галочка) активна,
Command11.Visible = False — Command11(соответствует «нолику») становится невидимой.
Else
Command11.Visible = True — В противном случае она становится видимой, активной.
End If
If Picture3. Visible = True Then — далее точно так же происходит проверка на наличие активной Command12. Visible = False — «галочки». Проверяется каждая клетка в которой возможно уже
Else — активна галочка, кроме этой кнопки так как при ее нажатии сработал «нолик».
Command12.Visible = True
End If
If Picture4. Visible = True Then
Command13.Visible = False
Else
Command13.Visible = True
End If
If Picture5. Visible = True Then
Command14.Visible = False
Else
Command14.Visible = True
End If
If Picture6. Visible = True Then
Command15.Visible = False
Else
Command15.Visible = True
End If
If Picture7. Visible = True Then
Command16.Visible = False
Else
Command16.Visible = True
End If
If Picture8. Visible = True Then
Command17.Visible = False
Else
Command17.Visible = True
End If
If Picture9. Visible = True Then
Command18.Visible = False
Else
Command18.Visible = True
End If
End Sub — Завершение работы кнопки С остальными кнопками работает точно такой же алгоритм действий. При нажатии на кнопку, она становится невидимой, на её месте появляется соответствующая ей картинка, это может быть либо «нолик» либо «галочка». Проверяются все возможные варианты, и программа выдает картинку в данной клетке.
Основные кнопки
«Игра»
Private Sub Command21_Click (Index As Integer)
Frame1.Visible = False — Frame1 становится невидимым
Frame2.Visible = True — Frame2 становится видимым
End Sub
«Выход»
Private Sub Command24_Click ()
End — Завершение работы программы, выход.
End Sub
«Начать»
Private Sub Command25_Click ()
Frame2.Visible = False — Frame2 становится невидимым
Timer1.Enabled = True — включается Таймер1
Command18.Visible = True — включается видимость всех кнопок «Галочек»
Command17.Visible = True
Command16.Visible = True
Command15.Visible = True
Command14.Visible = True
Command13.Visible = True
Command12.Visible = True
Command11.Visible = True
Command10.Visible = True
k = 0 — на этот момент переменная k=0
End Sub
«Назад»
Private Sub Command23_Click ()
Command1.Left = 360 — Происходит возврат всех кнопок на свои старые координаты
Command10.Left = 360
Command2.Left = 2400
Command11.Left = 2400
Command3.Left = 4440
Command12.Left = 4440
Command4.Left = 360
Command13.Left = 360
Command5.Left = 2400
Command14.Left = 2400
Command6.Left = 4440
Command15.Left = 4440
Command7.Left = 360
Command16.Left = 360
Command8.Left = 2400
Command17.Left = 2400
Command9.Left = 4440
Command18.Left = 4440
Command10.Visible = False — Все кнопки «галочки» и «нолики» становятся не видимыми
Command11.Visible = False
Command12.Visible = False
Command13.Visible = False
Command14.Visible = False
Command15.Visible = False
Command16.Visible = False
Command17.Visible = False
Command18.Visible = False
Command1.Visible = False
Command2.Visible = False
Command3.Visible = False
Command4.Visible = False
Command5.Visible = False
Command6.Visible = False
Command7.Visible = False
Command8.Visible = False
Command9.Visible = False
Picture1.Visible = False — Все картинки «галочки» и «нолики» становятся не видимыми
Picture2.Visible = False
Picture3.Visible = False
Picture4.Visible = False
Picture5.Visible = False
Picture6.Visible = False
Picture7.Visible = False
Picture8.Visible = False
Picture9.Visible = False
Picture10.Visible = False
Picture11.Visible = False
Picture12.Visible = False
Picture13.Visible = False
Picture14.Visible = False
Picture15.Visible = False
Picture16.Visible = False
Picture17.Visible = False
Picture18.Visible = False
Timer1.Enabled = False — Таймер1 отключается
Frame1.Visible = True — Frame1 видимый
Frame2.Visible = False — Frame2 невидимый
End Sub
«Сброс»
Здесь тот же самый код что и в кнопке «Назад», за исключением 5 добавленных строк:
e = 0 — переменная e=0
n = 0 — переменная n=0
k = 0 — переменная k=0
Label4.Caption = n — Label4 приравнивается к переменной «n»
Label5.Caption = e — Label5 приравнивается к переменной «e»
Таймеры
Timer1 выполняет работу по проверке на наличие выигрышных комбинаций, а так же проверяет на наличие исхода ничьей. Так как исходный код очень длинный, мы покажем вам его главную часть.
В этой части кода выполняется проверка на одну из возможных победных комбинаций при игре за «Галочки»:
Private Sub Timer1_Timer ()
If Picture1. Visible = True And Picture2. Visible = True And Picture3. Visible = True Then
Picture4.Visible = FalseЕсли Picture1,2,3 активны то
Picture5.Visible = False — все остальные клеточки становится невидимыми
Picture6.Visible = False — остаются видима только эта победная комбинация
Picture7.Visible = False
Picture8.Visible = False
Picture9.Visible = False
Picture10.Visible = False
Picture11.Visible = False
Picture12.Visible = False
Picture13.Visible = False
Picture14.Visible = False
Picture15.Visible = False
Picture16.Visible = False
Picture17.Visible = False
Picture18.Visible = False
Command1.Visible = False
Command2.Visible = False
Command3.Visible = False
Command4.Visible = False
Command5.Visible = False
Command6.Visible = False
Command7.Visible = False
Command8.Visible = False
Command9.Visible = False
Command10.Visible = False
Command11.Visible = False
Command12.Visible = False
Command13.Visible = False
Command14.Visible = False
Command15.Visible = False
Command16.Visible = False
Command17.Visible = False
Command18.Visible = False
n = n + 1 — При нажатии на кнопку к переменной прибавляется плюс один.
Label4.Caption = n — Label4 приравнивается к переменной «n»
Timer1.Enabled = False — Таймер1 отключается
k = 0 — переменная «k» имеет значение равное нулю
Frame2.Visible = True — Frame2 становится видимым
End If
Таким же образом производится проверка остальных возможных победных комбинаций при игре за «Галочки».
В этой части кода выполняется проверка на одну из возможных победных комбинаций при игре за «Нолики»:
If Picture10. Visible = True And Picture11. Visible = True And Picture12. Visible = True Then
Picture13.Visible = False — Если Picture10,11,12 активны то
Picture14.Visible = False — все остальные клеточки становится невидимыми
Picture15.Visible = False — остаются видима только эта победная комбинация
Picture16.Visible = False
Picture17.Visible = False
Picture18.Visible = False
Picture1.Visible = False
Picture2.Visible = False
Picture3.Visible = False
Picture4.Visible = False
Picture5.Visible = False
Picture6.Visible = False
Picture7.Visible = False
Picture8.Visible = False
Picture9.Visible = False
Command1.Visible = False
Command2.Visible = False
Command3.Visible = False
Command4.Visible = False
Command5.Visible = False
Command6.Visible = False
Command7.Visible = False
Command8.Visible = False
Command9.Visible = False
Command10.Visible = False
Command11.Visible = False
Command12.Visible = False
Command13.Visible = False
Command14.Visible = False
Command15.Visible = False
Command16.Visible = False
Command17.Visible = False
Command18.Visible = False
e = e + 1 -При нажатии на кнопку к переменной прибавляется плюс один.
Label5.Caption = e — Label5 приравнивается к переменной «e»
Timer1.Enabled = FalseТаймер1 отключается
k = 0 — переменная «k» имеет значение равное нулю
Frame2.Visible = True — Frame2 становится видимым
End If
Точно так же производится проверка остальных возможных победных комбинаций при игре за «Нолики»
В этой части кода происходит проверка на результат ничейного исхода игры:
If k = 9 Then — если переменная k=9 тогда
Frame3.Visible = True — Frame3 становится видимым
Frame2.Visible = False — Frame2 становится невидимым
Picture1.Visible = False — Все клеточки становятся невидимыми
Picture2.Visible = False
Picture3.Visible = False
Picture4.Visible = False
Picture5.Visible = False
Picture6.Visible = False
Picture7.Visible = False
Picture8.Visible = False
Picture9.Visible = False
Picture10.Visible = False
Picture11.Visible = False
Picture12.Visible = False
Picture13.Visible = False
Picture14.Visible = False
Picture15.Visible = False
Picture16.Visible = False
Picture17.Visible = False
Picture18.Visible = False
End If
End Sub
Timer2 если Timer1 отключен, Timer2 возвращает все кнопки на свои места и скрывает их. В основном он выполняет функцию сброса. Исходный код:
Private Sub Timer2_Timer ()
If Timer1. Enabled = False ThenЕсли Timer1 отключен тогда
k = 0 — переменная «k» приравнивается к нулю
Command1.Left = 360 — кнопки возвращаются на свои координаты
Command10.Left = 360
Command2.Left = 2400
Command11.Left = 2400
Command3.Left = 4440
Command12.Left = 4440
Command4.Left = 360
Command13.Left = 360
Command5.Left = 2400
Command14.Left = 2400
Command6.Left = 4440
Command15.Left = 4440
Command7.Left = 360
Command16.Left = 360
Command8.Left = 2400
Command17.Left = 2400
Command9.Left = 4440
Command18.Left = 4440
Command10.Visible = False — Кнопки становятся невидимыми
Command11.Visible = False
Command12.Visible = False
Command13.Visible = False
Command14.Visible = False
Command15.Visible = False
Command16.Visible = False
Command17.Visible = False
Command18.Visible = False
Command1.Visible = False
Command2.Visible = False
Command3.Visible = False
Command4.Visible = False
Command5.Visible = False
Command6.Visible = False
Command7.Visible = False
Command8.Visible = False
Command9.Visible = False
Picture1.Visible = False — Картинки становятся невидимыми
Picture2.Visible = False
Picture3.Visible = False
Picture4.Visible = False
Picture5.Visible = False
Picture6.Visible = False
Picture7.Visible = False
Picture8.Visible = False
Picture9.Visible = False
Picture10.Visible = False
Picture11.Visible = False
Picture12.Visible = False
Picture13.Visible = False
Picture14.Visible = False
Picture15.Visible = False
Picture16.Visible = False
Picture17.Visible = False
Picture18.Visible = False
End If
End Sub
Руководство по использованию Чтобы запустить программу, необходимо нажать NEW_KUR.exe из соответствующей директории.
При запуске программы сначала появляется главное меню. Необходимо нажать кнопку для продолжения. Управлять игрой осуществляется мышкой.
тестирование игра программа Анализ результатов разработки программы Для тестирования работы программы были использованы различные варианты расположения фишек на различных полях. Программа работает правильно без явных сбоев. В таблице рекордов программа корректно выполняет считывание данных из файла и производит запись или перезапись данных в файл.
ЗАКЛЮЧЕНИЕ
В ходе написания программы были использованы элементы объектно-ориентированного программирования. Основу программы составили классы. Было использовано переопределение стандартных операций для переменных абстрактных типов, а так же работа с графикой, строками и т. д.
Пользователю не придется тратить много времени на освоение правил игры «Галочки-нолики». Простота и наглядность интерфейса делают игру удобной в использовании.
Выполнение контрольной работы помогло закрепить материал и навыки, полученный на лекциях и лабораторных работах, помогло систематизировать знание языка и научится применять их к конкретным задачам.