0% нашли этот документ полезным (0 голосов)
3 просмотров11 страниц

6218 6270 1 PB

Документ описывает разработку компьютерной версии игры 'Крестики-нолики' на языке C# в среде Visual Studio, позволяющей играть против другого игрока или компьютера. Исследование включает реализацию логики игры, интерфейса и алгоритма Minimax для оптимизации ходов компьютера. Результат может быть использован в образовательных и развлекательных целях.

Загружено:

vofas88682
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
3 просмотров11 страниц

6218 6270 1 PB

Документ описывает разработку компьютерной версии игры 'Крестики-нолики' на языке C# в среде Visual Studio, позволяющей играть против другого игрока или компьютера. Исследование включает реализацию логики игры, интерфейса и алгоритма Minimax для оптимизации ходов компьютера. Результат может быть использован в образовательных и развлекательных целях.

Загружено:

vofas88682
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
Вы находитесь на странице: 1/ 11

Постулат. 2025.

№6 ISSN 2414-4487
УДК 004

Создание игры «Крестики-нолики» на языке программирования C# в


Visual Studio

Анишкова Анастасия Сергеевна


Приамурский государственный университет имени Шолом-Алейхема
Студент

Аннотация
Целью данного исследования является разработка компьютерной версии
классической игры «Крестики-нолики», позволяющей двум игрокам или
одному игроку против системы соревноваться на стандартном поле 3x3, с
возможностью выбора режима игры и корректной реализацией логики
выигрыша. Работа выполнялась в среде Visual Studio с использованием языка
C#, что обеспечило высокий уровень функциональности, стабильности и
удобства разработки благодаря мощным инструментам отладки, поддержке
объектно-ориентированного программирования и интеграции с библиотеками
.NET Framework. C# — это современный, строго типизированный, объектно-
ориентированный язык программирования, разработанный корпорацией
Microsoft в рамках инициативы .NET. Он сочетает в себе мощь и гибкость
низкоуровневых языков с удобством и безопасностью высокого уровня.
Результат может быть применён в обучающих или развлекательных целях.
Ключевые слова: Крестики-нолики, C#, NET Framework, Visual Studio, игра.

Creating a Tic-Tac-Toe game in the C# programming language in Visual


Studio

Anishkova Anastasia Sergeevna


Sholom-Aleichem Priamurskiy State University
Student

Abstract
The purpose of this research is to develop a computer version of the classic Tic-Tac-
Toe game, which allows two players or one player to compete against the system on
a standard 3x3 field, with the ability to select the game mode and correctly
implement the winning logic. The work was performed in the Visual Studio
environment using the C# language, which provided a high level of functionality,
stability and ease of development thanks to powerful debugging tools, support for
object-oriented programming and integration with libraries.NET Framework. C#
(pronounced "c-sharp") is a modern, strongly typed, object-oriented programming
language developed by Microsoft as part of the .NET initiative. It combines the
power and flexibility of low-level languages with the convenience and security of
high-level languages. The result can be used for educational or entertainment
purposes.
Постулат. 2025. №6 ISSN 2414-4487
Key words: Tic-Tac-Toe, C#, NET Framework, Visual Studio, game.

1 Введение
1.1 Актуальность
Актуальность создания игры «Крестики-нолики» на языке
программирования C# в среде Visual Studio заключается в том, что этот проект
позволяет наглядно продемонстрировать применение базовых принципов
программирования, таких как алгоритмизация, работа с событиями,
управление пользовательским интерфейсом и реализация логики
взаимодействия между элементами приложения.

1.2 Обзор исследований


В статье Н. А. Базеевой и Д. С. Лебедева описано исследование о начале
игровой индустрии, а также рассмотрены особенности языков
программирования для разработки игр [1]. R. Bourbia и др. в своей научной
работе рассказывают об игре, цель которой улучшение навыков сборки
компьютера студентами в виртуальной лаборатории [2]. Об основных
вопросах разработки однопользовательских двумерных игр на языке
JavaScript написано в учебном пособии С. А. Беляева [3]. Н. В. Бужинская и Д.
Ю. Тазабеков в статье рассматривают процесс разработки компьютерной игры
«Winduza» на игровом движке Unity с использованием языка
программирования C# [4]. Обширный обзор литературы по подходу,
ориентированному на разработку видеоигр представлен в исследование у H.
Engström и др. [5]. И. С. Голубь и Д. В. Лучанинов описывают алгоритм
создания развивающей игры «Парные картинки» с помощью языка
программирования JavaScript [6]. В статье Э. Э. Сейдаметова, А. Э. Шабанова
представлены наиболее популярные средства разработки игр и
проанализированы их характерные особенности [7].

1.3 Цель исследования


Разработка компьютерной версии классической игры «Крестики-
нолики», позволяющей двум игрокам или одному игроку против системы
соревноваться на стандартном поле 3x3, с возможностью выбора режима игры
и корректной реализацией логики выигрыша.

2 Материалы и методы
В данном исследование используется среда Visual Studio и язык
программирования C#.

3 Результаты
Чтобы создать игру, откройте Visual Studio, создайте новый проект
Windows Forms App (.NET Framework) с названием «TicTacToe», затем
замените содержимое файла «Form1.cs» на код игры.
Постулат. 2025. №6 ISSN 2414-4487
Игру можно скачать по ссылке:
https://drive.google.com/drive/folders/1SwZ4EabuZdd-
PmPUvSfgOFf8128MxTo8?usp=sharing.
Начнем с объявления и инициализацию основных переменных,
необходимых для реализации логики игры в крестики-нолики на поле 3x3,
включая массив кнопок для игрового поля, флаг очередности хода игрока,
счётчик ходов, элементы интерфейса для отображения информации и
статистики, а также переменные для хранения результатов игр и режима
против ИИ или двух игроков (рис.1).

Рисунок 1. Объявление переменных класса

Далее реализуем конструктор формы и метод инициализации игры в


крестики-нолики, в котором создаётся графический интерфейс с игровым
полем 3x3, настраивается внешний вид формы, добавляются элементы
управления и подписываются обработчики событий для кнопок (рис.2, 3).
Постулат. 2025. №6 ISSN 2414-4487

Рисунок 2. Конструктор формы и инициализация игры


Постулат. 2025. №6 ISSN 2414-4487

Рисунок 3. Конструктор формы и инициализация игры

Этот фрагмент кода реализует обработчик события нажатия на кнопку


игрового поля, который управляет логикой хода игрока или компьютера,
проверяет результаты игры после каждого хода и обеспечивает смену
очередности ходов в зависимости от режима игры (рис.4).
Постулат. 2025. №6 ISSN 2414-4487

Рисунок 4. Обработка ходов игроков

Далее реализуем логику хода компьютера в игре «Крестики-нолики» с


использованием алгоритма Minimax для выбора оптимального хода, включая
рекурсивную оценку всех возможных вариантов и определение наилучшего
результата (рис.5).
Постулат. 2025. №6 ISSN 2414-4487

Рисунок 5. Логика ИИ (компьютерный игрок)

Напишем фрагмент кода, который включает в себя метод обновления


отображения счёта и реализацию функции выбора наилучшего хода для
компьютера с использованием алгоритма Minimax, который перебирает все
возможные ходы и оценивает их эффективность (рис.6).

Рисунок 6. Обновление счета и выбор наилучшего хода


Постулат. 2025. №6 ISSN 2414-4487
Реализуем (рис.7) рекурсивный алгоритм Minimax для оценки всех
возможных исходов игры с текущей позиции, где компьютер выбирает
наиболее выгодный ход, максимизируя свой выигрыш, а игрок —
минимизируя его, на основе анализа побед, поражений и ничьих на
определённую глубину.

Рисунок 7. Алгоритм Minimax

Этот фрагмент кода реализует метод визуального выделения нажатой


кнопки с последующим восстановлением её цвета и функцию проверки
победителя в игре, которая анализирует все возможные выигрышные
комбинации для указанного игрока (рис.8).
Постулат. 2025. №6 ISSN 2414-4487

Рисунок 8. Проверки победителя в игре

Реализует метод перезапуска игры, который сбрасывает текст и стиль


всех кнопок игрового поля, а также обнуляет счётчики и устанавливает
начальное состояние игры (рис.9).

Рисунок 9. Перезапуск игры

Код программы успешно готов к запуску — нажмите Ctrl + F5, чтобы


начать игру. После открытия игрового поля 3x3 выберите предпочтительный
режим: игра против человека или против компьютера. Теперь вы сможете
приступить к игре (Рис.10).
На рисунке 10 изображен интерфейс игры с человеком.
Постулат. 2025. №6 ISSN 2414-4487

Рисунок 10. Игра с человеком

Интерфейс игры против компьютера изображен на рисунке 11.

Рисунок 11. Игра с компьютером


Постулат. 2025. №6 ISSN 2414-4487
Библиографический список

1. Базеева Н. А., Лебедев Д. С. Языки программирования для создания игр //E-


Scio. 2019. №. 4 (31).
2. Bourbia R. et al. Development of serious game to improve computer assembly
skills //Procedia-Social and Behavioral Sciences. 2014. Т. 141. С. 96-100.
3. Беляев С.А. Разработка игр на языке javascript. СПб.: Издательство Лань,
2016. 128 с.
4. Бужинская Н. В., Тазабеков Д. Ю. Разработка компьютерной обучающей
игры "WINDUZA" //Заметки ученого. 2019. №. 2. С. 16-21.
5. Engström H. et al. Game development from a software and creative product
perspective: A quantitative literature review approach //Entertainment
Computing. 2018. Т. 27. С. 10-22.
6. Голубь И. С., Лучанинов Д. В. Разработка обучающей игры «Парные
картинки» с помощью JavaScript //Постулат. 2016. №. 12.
7. Сейдаметов Э. Э., Шабанов А. Э. Современные средства разработки игр
//Информационно-компьютерные технологии в экономике, образовании и
социальной сфере. 2020. №. 1. С. 54-62.

Вам также может понравиться