Гра "Хрестики-Нулики" є класичною настільною грою для двох гравців, які по черзі ставлять свої символи (хрестики або нулики) на сітку 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: Будь-яка версія, що підтримує бази даних.
git clone https://github.com/Kuvaev-dev/TicTacToe.git cd TicTacToe
- Відкрийте SQL Server Management Studio (SSMS).
- Запустіть скрипт TicTacToe.sql, щоб створити базу даних TicTacToeDB та необхідні таблиці.
- Відкрийте проект в 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>
- Побудуйте проект в Visual Studio (Build -> Build Solution).
- Запустіть проект (Debug -> Start Debugging або натисніть F5).
- Запустіть програму.
- На сторінці входу введіть ім'я користувача та пароль, потім натисніть "Увійти".
- На сторінці реєстрації введіть ім'я користувача та пароль, потім натисніть "Продовжити".
- Після входу в систему перейдіть до сторінки гри.
- Виберіть рівень складності бота і натисніть "ПОЧАТИ ГРУ".
- Натискайте на клітинки сітки 3x3, щоб зробити свій хід.
- Після завершення гри результат буде автоматично збережений.
- Перед початком гри можна обрати опцію "Підказка" для отримання підказок від бота щодо можливих ходів.
Перейдіть до сторінки профілю, щоб переглянути та оновити свої дані або видалити акаунт.
Перейдіть до сторінки рейтингу, щоб переглянути рейтинг найуспішніших гравців.