/TicTacToe

Tic-Tac-Toe Game using WPF C#.

Primary LanguageC#Apache License 2.0Apache-2.0

Хрестики-Нулики

Гра "Хрестики-Нулики" є класичною настільною грою для двох гравців, які по черзі ставлять свої символи (хрестики або нулики) на сітку 3x3. Гравець, який першим утворює безперервний ряд з трьох своїх символів вертикально, горизонтально або діагонально, виграє гру.

Використані технології

  • Мова програмування: C#
  • Платформа: .NET Framework
  • Графічний інтерфейс: WPF (Windows Presentation Foundation)
  • База даних: MS SQL Server

Використані підходи до реалізації

  • Репозиторій даних: ADO.NET для взаємодії з базою даних SQL Server
  • Сервіси:
    • PlayerService: Сервіс для роботи з даними гравців.
    • GameService: Сервіс для управління логікою гри.
  • Боти:
    • AI: Бот зі штучним інтелектом, що використовує алгоритм Minimax.
    • Defensive: Бот, що грає від захисту.
    • Offensive: Бот, що грає від нападу.
    • Guru: Бот, що використовує алгоритми двох попередніх та є сильнішим за них.
    • Simple: Бот, що використовує алгоритм випадкового ходу.
  • Архітектурний паттерн: MVVM (Model-View-ViewModel):
    • Model: Моделі даних для роботи з гравцями та іграми.
    • View: WPF сторінки та вікна.
    • ViewModel: Логіка та навігація по сторінках програми.
  • Паттерн Strategy: Реалізація стратегій для кожного з ботів.
  • Dependency Injection: Впровадження залежностей через конструктори або інтерфейси для полегшення тестування та підтримки коду, з використанням репозиторіїв для доступу до даних.
  • SOLID: Дотримання принципів SOLID для забезпечення гнучкості та підтримуваності коду.
  • Таблиці бази даних: Таблиці Players і Games для зберігання інформації про гравців і результати ігор.

Інсталяція

Вимоги

  • Операційна система: Windows 7 або новіша.
  • .NET Framework: Версія 4.7.2 або новіша.
  • SQL Server: Будь-яка версія, що підтримує бази даних.

Кроки для інсталяції

1. Клонування репозиторію:

git clone https://github.com/Kuvaev-dev/TicTacToe.git
cd TicTacToe

2. Налаштування бази даних:

  • Відкрийте SQL Server Management Studio (SSMS).
  • Запустіть скрипт TicTacToe.sql, щоб створити базу даних TicTacToeDB та необхідні таблиці.

3. Налаштування підключення до бази даних:

  • Відкрийте проект в Visual Studio.
  • У файлі App.config змініть рядок підключення до бази даних:
<connectionStrings>
  <add name="MyConnectionString" connectionString="Data Source=YOUR_SERVER_NAME;Initial Catalog=TicTacToeDB;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>

4. Запуск програми:

  • Побудуйте проект в Visual Studio (Build -> Build Solution).
  • Запустіть проект (Debug -> Start Debugging або натисніть F5).

Використання програми

1. Вхід в систему:

  • Запустіть програму.
  • На сторінці входу введіть ім'я користувача та пароль, потім натисніть "Увійти".
  • На сторінці реєстрації введіть ім'я користувача та пароль, потім натисніть "Продовжити".

2. Гра:

  • Після входу в систему перейдіть до сторінки гри.
  • Виберіть рівень складності бота і натисніть "ПОЧАТИ ГРУ".
  • Натискайте на клітинки сітки 3x3, щоб зробити свій хід.
  • Після завершення гри результат буде автоматично збережений.
  • Перед початком гри можна обрати опцію "Підказка" для отримання підказок від бота щодо можливих ходів.

3. Профіль:

Перейдіть до сторінки профілю, щоб переглянути та оновити свої дані або видалити акаунт.

4. Рейтинг:

Перейдіть до сторінки рейтингу, щоб переглянути рейтинг найуспішніших гравців.

Вдалої гри!

Copyright © 2024, Kuvaev-dev