Игра "Галочки-Нолики"

Проектирование интеллектуальной логической игры "Галочки-нолики". Описание составляющих программы. Объявление переменных, Command1 по Command18. Основные кнопки, проектирование и проверка работы таймеров. Руководство по использованию, тестирование.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 17.04.2015
Размер файла 444,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru

Размещено на http://www.allbest.ru

ВВЕДЕНИЕ

Наименование программы

Интеллектуальная логическая игра «Галочки-нолики».

Краткая характеристика

Игра «Галочки-нолики» позволяет пользователю выбрать поле 3х3, играть против компьютера и ходить крестиками во время игры. Данная игра предназначена для тренировки логического мышления пользователя.

Назначение программы

Данная разработка дает возможность пользователю развить его логическое мышление, выбор поля позволяет заинтересовать пользователя и делает процесс игры разнообразным. Игра повышает интеллектуальный уровень пользователя, развивает его внимание и рефлекторные способности.

Данная контрольная работа посвящена разработке игры «Галочки-нолики», реализованная с применением объектно-ориентированного программирования.

Игра «Галочки-нолики», описанная в данной работе, является полноценным программным продуктом, готовым для использования. Она обладает доступным, понятным и наглядным для пользователя интерфейсом.

ПРОЕКТИРОВАНИЕ ПРОГРАММЫ

Общая схема программы

Программа состоит из следующих файлов:

Galochki-Noliki.exe - исполняемый файл;

Proekt1.vbp- файл, содержащий исходный текст программы;

2Описание основных составляющих игры «Галочки-Нолики»

Так как наше поле имеет размер 3x3.Игра включает в себя 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 = 100000 - Кнопка отправляется в космос, пользователь ее не видит

Command10.Left = 100000- тоже самое происходит и с этой кнопкой, она отвечает за «галочку».

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 из соответствующей директории.

При запуске программы сначала появляется главное меню. Необходимо нажать кнопку для продолжения. Управлять игрой осуществляется мышкой.

тестирование игра программа

Анализ результатов разработки программы

Для тестирования работы программы были использованы различные варианты расположения фишек на различных полях. Программа работает правильно без явных сбоев. В таблице рекордов программа корректно выполняет считывание данных из файла и производит запись или перезапись данных в файл.

ЗАКЛЮЧЕНИЕ

В ходе написания программы были использованы элементы объектно-ориентированного программирования. Основу программы составили классы. Было использовано переопределение стандартных операций для переменных абстрактных типов, а так же работа с графикой, строками и т.д.

Пользователю не придется тратить много времени на освоение правил игры «Галочки-нолики». Простота и наглядность интерфейса делают игру удобной в использовании.

Выполнение контрольной работы помогло закрепить материал и навыки, полученный на лекциях и лабораторных работах, помогло систематизировать знание языка и научится применять их к конкретным задачам.

Размещено на Allbest.ru


Подобные документы

  • Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.

    курсовая работа [821,5 K], добавлен 13.02.2012

  • Разработка программы игры в крестики-нолики. Примеры игровой ситуации на игровом поле. Описание входных и выходных данных, переменных и функций программы. Реализация алгоритма работы программы на языке C++. Текст программы и примеры ее выполнения.

    курсовая работа [352,8 K], добавлен 14.04.2011

  • Разработка популярной развлекательной игры крестики-нолики. Возможность играть с компьютером, который играет согласно созданному алгоритму. Новые возможности Visual Studio. Легкое усвоение программы. Удобный интерфейс - "визитная карточка" приложения.

    курсовая работа [74,6 K], добавлен 20.12.2009

  • Проект программы "Крестики-нолики". Блок-схема алгоритма. Описание работы программного продукта. Инструкция по инсталляции. Инструкция программисту, возможность доработки с целью упрощения исполняемых кодов. Инструкция по проверке и тестированию.

    курсовая работа [235,8 K], добавлен 05.12.2009

  • Знакомство с интерфейсом пользователя и сценарием использования программы игры в крестики и нолики. Функциональные и нефункциональные требования для персонального компьютера. Исключительные ситуации и реакция программы. Пример кода игры и комментарии.

    курсовая работа [236,5 K], добавлен 27.01.2014

  • Программный продукт для игры "Крестики-нолики". Описание пользовательского интерфейса. Факт базы данных, определяющий состояние счёта. Предикат изменяющий состояние игрового процесса и подсчитывающий количество занятых ячеек поля. Исходный код программы.

    курсовая работа [34,6 K], добавлен 19.05.2014

  • Общая характеристика языков программирования. Краткий обзор C, C++, Java, PHP, Python, Delphi и Visual Basic. Процесс разработки программы игра "Крестики и нолики" с помощью AppWizard. Компиляция и компоновка модулей, определение интерфейса приложения.

    курсовая работа [2,5 M], добавлен 27.05.2014

  • Технические и пользовательские характеристики игры, требования к программному обеспечению и среде разработки C#. Составление блок-схемы алгоритма, uml-диаграммы и текста программы, тестирование корректности компьютерного кода и результатов его работы.

    курсовая работа [1,8 M], добавлен 05.03.2013

  • Разработка аналога игры "Крестики-нолики", где игроки выбирают размер поля. Правила игры. Интерфейс программы. Главная функция main. Класс XO. Метод вывода поля и хода игроков. Методы поиска крестиков, ноликов. Методы проверки выигрышных ситуаций игроков.

    курсовая работа [281,5 K], добавлен 30.01.2018

  • Разработка алгоритма, выполняющего поиск наилучшего решения на каждый ход в игре "крестики-нолики" (используя минимальный алгоритм). Обоснование выбора программных средств для решения задачи. Блок-схема интеллектуального алгоритма реализации программы.

    контрольная работа [380,0 K], добавлен 28.04.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.