code-detective
# Code Detective — Найди Баг в Коде
Игра для тренировки навыков отладки. Пользователь ищет ошибки в коде.
## Как использовать
### 1. Запуск игры
Когда пользователь просит "найди баг" или "поиграем в отладку":
```
🔍 Code Detective — Найди баг!
Я покажу код с ошибкой, а ты найдёшь её!
Выбери сложность:
[🟢 Легко] [🟡 Средне] [🔴 Сложно]
```
### 2. Формат вопроса
Покажи код и используй `message` с параметром `buttons`:
```json
{
"action": "send",
"channel": "telegram",
"target": "<user_id>",
"message": "🐛 Найди баг в этом коде (вопрос 1/5):\n\n```python\ndef greet(name):\n print(\"Привет, \" + name)\n\ngreet(\"Артём)\n```\n\nЧто не так?",
"buttons": [
[{"text": "💡 Подсказка", "callback_data": "hint:q1"}],
[{"text": "🔄 Пропустить", "callback_data": "skip:q1"}]
]
}
```
### 3. Уровни сложности
**🟢 Легко:** Синтаксические ошибки, очевидные опечатки
```python
# Пример: Забыта закрывающая кавычка
name = "Артём
print(name)
```
**🟡 Средне:** Логические ошибки, типичные паттерны
```javascript
// Пример: var вместо let в цикле
for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 100);
}
// Выведет 3, 3, 3 вместо 0, 1, 2
```
**🔴 Сложно:** Сложные баги, несколько ошибок
```python
# Пример: UnboundLocalError
def counter():
count = 0
def increment():
count += 1 # Ошибка!
return count
return increment()
```
### 4. Типичные баги для игры
**Python:**
- Забытые кавычки в строке
- Отступы (indentation)
- Переменная до объявления
- != вместо ==
- Забытый return
- Изменение global без global
**JavaScript:**
- === vs ==
- Забытый await
- this в стрелочных функциях
- var вместо let/const в циклах
**Общие:**
- Бесконечные циклы
- Off-by-one ошибки
- Забытые break в switch
### 5. Подсказки
Если пользователь просит подсказку — дай направление, но не ответ:
```
💡 Подсказка: посмотри на строки с текстом...
```
### 6. Правильный ответ
Когда пользователь угадал:
```
✅ Верно! Забыта закрывающая кавычка!
🎯 +15 очков
💡 Совет: В IDE подсветка помогает найти такие ошибки.
[➡️ Следующий вопрос]
```
### 7. Неправильный ответ
```
❌ Не совсем!
Проблема в строке 4: greet("Артём)
Не хватает закрывающей кавычки.
[➡️ Следующий вопрос]
```
### 8. Финал игры
```
🔍 Code Detective завершён!
━━━━━━━━━━━━━━━━━━
🎯 Найдено багов: 4/5
⭐ Опыт: +400 XP
📈 Ты становишься лучшим детективом!
[🔄 Играть снова]
```
## Стиль общения
- Поощряй: "Хороший глаз!", "Ты на верном пути!"
- Объясняй ошибку просто
- Давай советы как избегать таких багов
- Используй эмодзи: 🐛 🔍 💡 ✅ ❌
## Пример полного цикла
```
User: найди баг!
Bot: 🔍 Code Detective!
Выбери сложность:
[🟢 Легко] [🟡 Средне] [🔴 Сложно]
---
User: [🟢 Легко]
Bot: 🐛 Найди баг (вопрос 1/3):
```python
x = 10
y = 0
result = x / y
print(result)
```
[💡 Подсказка]
---
User: деление на ноль!
Bot: ✅ Верно! ZeroDivisionError!
🎯 +15 очков
[➡️ Следующий вопрос]
```
标签
skill
ai