Добро пожаловать в коллекцию классических игр с открытым исходным кодом. Этот репозиторий содержит несколько простых, но увлекательных игр, реализованных на разных языках программирования.
Классическая игра на доске 3×3, где нужно выстроить в ряд три своих символа (крестика или нолика).
Реализации:
- Python (PyQt6) - GUI-версия с тремя уровнями сложности ИИ
- C++ (Qt) - Компилируемая версия с минималистичным интерфейсом
- PHP - Консольная версия для запуска в терминале
- Web (HTML/JS/CSS) - Версия для браузера
Стратегическая игра для двух игроков, в которой нужно выстроить в ряд четыре фишки одного цвета.
Реализация:
- Python (PyQt6) - GUI-версия с несколькими уровнями сложности
Классическая аркадная игра, имитирующая настольный теннис.
Реализация:
- Python (Pygame) - Классическая реализация с разными режимами игры
- Python 3.6 или выше
- PyQt6 (
pip install PyQt6
) для игр на PyQt - Pygame (
pip install pygame
) для игры Пинг-Понг
- C++ компилятор с поддержкой C++17
- Qt 5.15 или выше
- CMake или qmake для сборки
- PHP 7.4 или выше
- Любой современный веб-браузер
# Крестики-нолики
cd tictactoe/python
python tic-tac-toe-python.py
# Четыре в ряд
cd four-balls-in-a-row
python main.py
# Пинг-Понг
cd pingpong
python "Ping Pong.py"
# Крестики-нолики
cd tictactoe/cpp
make
./tictactoe
# Крестики-нолики
cd tictactoe/php
php tic-tac-toe-php.php
Откройте файл index.html
в вашем браузере:
# Крестики-нолики
cd tictactoe/tic-tac-toe-html-js-css
open index.html # или просто откройте файл в браузере
- Крестики-нолики: Реализованы разные уровни сложности ИИ (от случайных ходов до минимакса)
- Четыре в ряд: Простой и интуитивно понятный интерфейс, стратегический ИИ
- Пинг-Понг: Классический геймплей с настраиваемой сложностью
Все игры в этом репозитории распространяются под лицензией GNU GPL v3. См. файл LICENSE для получения подробной информации.
Если вы хотите добавить новую игру или улучшить существующую:
- Создайте форк репозитория
- Создайте ветку для новой функциональности (
git checkout -b feature/название-игры
) - Внесите изменения и зафиксируйте их (
git commit -am 'Добавлена новая игра: название'
) - Отправьте изменения в ваш форк (
git push origin feature/название-игры
) - Создайте Pull Request в основной репозиторий