Skip to content

Latest commit

 

History

History
101 lines (73 loc) · 5.84 KB

File metadata and controls

101 lines (73 loc) · 5.84 KB

🧩 Game 15 — Пятнашки в Telegram

Полноценная реализация игры детства «Пятнашки» прямо в вашем Telegram-боте.

Python Telegram Bot API SQLite

📖 О проекте

Game 15 — это Telegram-бот, реализующий классическую логическую игру «Пятнашки» (игра в 15). Игровое поле 4×4 с 15 пронумерованными фишками и одной пустой клеткой. Цель — упорядочить фишки по возрастанию, перемещая их на пустое место.

Игровой процесс полностью адаптирован под интерфейс Telegram:

  • 🎮 Управление стрелками через Reply-клавиатуру
  • 🖼 Игровое поле отображается в виде Inline-клавиатуры с редактируемым сообщением
  • 🏆 Встроенный рейтинг игроков на базе SQLite
  • ⚙️ Возможность смены никнейма в таблице рейтинга

Проект создавался как полноценное, готовое к использованию приложение — не просто учебная практика, а вещь, которой можно пользоваться и делиться с друзьями.

✨ Возможности

Функция Описание
🎯 Игровой процесс Классические пятнашки с генерацией поля путём многократного перемешивания выигрышной комбинации
⌨️ Управление Кнопки-стрелки (⬆️ ⬇️ ⬅️ ➡️) на Reply-клавиатуре
🖥 Отображение поля Inline-клавиатура в редактируемом сообщении — поле обновляется без спама
🏅 Рейтинг Топ-10 игроков с количеством побед; своя позиция в таблице
✏️ Смена никнейма Изменение отображаемого имени в рейтинге
🔗 Гиперссылка Опциональное отображение никнейма со ссылкой на Telegram-профиль
📢 Подписка на канал Проверка подписки на канал перед началом игры
🛑 Остановка игры Возможность завершить партию в любой момент

🛠 Технологии

  • Python 3.7+ — язык разработки
  • pyTelegramBotAPI — взаимодействие с Telegram Bot API
  • SQLite — хранение данных пользователей и рейтинга
  • Telegram Inline & Reply Keyboard — интерфейс управления

🚀 Установка и запуск

1. Клонирование репозитория

git clone https://github.com/leonidpoezzhaev/Game15.git
cd Game15

2. Установка зависимостей

pip install pyTelegramBotAPI

3. Настройка бота

Откройте файл game15.py и укажите свой токен бота и ID канала:

bot = telebot.TeleBot('YOUR_BOT_TOKEN')  # Замените на токен вашего бота
chanel = '-1003480826321'                # Замените на ID вашего канала

4. Запуск

python game15.py

📱 Как играть

  1. Запустите бота командой /start
  2. Подпишитесь на указанный канал и нажмите «✅Проверить подписку»
  3. Нажмите «Начать игру» — появится поле 4×4
  4. Управляйте фишками с помощью стрелок на клавиатуре:
    • ⬆️ — сдвинуть фишку вверх
    • ⬇️ — сдвинуть фишку вниз
    • ⬅️ — сдвинуть фишку влево
    • ➡️ — сдвинуть фишку вправо
  5. Соберите все числа по порядку от 1 до 15 — победа! 🎉
  6. Каждая победа приносит +1 к рейтингу

🧠 Особенности реализации

  • Генерация поля: игра создаётся путём многократного перемешивания выигрышной комбинации, что гарантирует решаемость любой позиции.
  • Интерактивность: игровое поле обновляется в одном сообщении через edit_message_text — никакого спама и удобный интерфейс.
  • Рейтинг: все победы сохраняются в SQLite-базе данных, доступен топ-10 игроков.

📂 Структура проекта

Game15/
├── game15.py          # Основной код бота
├── rating.db          # База данных с рейтингом (создаётся автоматически)
└── README.md          # Этот файл

📝 Планы на будущее

  • Переписать на Aiogram для более современной архитектуры