Играй и колдуй с числами!
Представляем волшебный скрипт для любителей головоломок и терминальных приключений! Эта игра превращает угадывание чисел в захватывающее заклинание с цветными эффектами и магическими подсказками.
🔮 Как работает игра?
После запуска скрипта вам явится загадочное сообщение:
=== 🎩 Магическая угадайка ===
Ваша задача — угадать число за минимальное количество попыток. Каждая ошибка приближает к разгадке через магические подсказки:
- 🔥 Пламя обжигает! — ошибка до 5
- 🌶️ Искры летят! — до 10
- ☀️ Тепло волшебства — до 20
- 🌬️ Ветер перемен — до 30
- ❄️ Ледяные руны — до 40
- 🧊 Холод древних чар — больше 40
🛠️ Как запустить игру?
- Скопируйте код в файл
magic_guess.sh
- Сделайте его исполняемым:
chmod +x magic_guess.sh
- Запустите:
./magic_guess.sh
🔄 Механика игры
Пример диалога с программой:
Твое заклинание (число): 50
🌬️ Ветер перемен ↑ Сила растёт!
Твое заклинание (число): 75
❄️ Ледяные руны ↓ Магия угасает...
Твое заклинание (число): 63
🎉 Поздравляю! Ты угадал за 3 попыток!
✨ Магия сработала!
🎨 Визуальное оформление
Используется магия ANSI-цветов для создания атмосферы:
- 🌈 RED 🔥 для критических ошибок
- 🌀 BLUE ❄️ для холодных подсказок
- 🌞 YELLOW ☀️ для теплых угадываний
Цвета задаются через tput
, что делает игру живой даже в текстовом интерфейсе.
💡 Секрет успеха
Чтобы быстро победить, следуйте этим советам:
- Начните с середины диапазона (50)
- Используйте подсказки о направлении (↑↑ или ↓↓)
- Запоминайте реакцию “ветра перемен” и “ледяных рун”
🚀 Как улучшить игру?
Попробуйте добавить:
- ⏱️ Таймер на угадывание
- 📊 Статистику попыток
- 🧙♂️ Расширенные заклинания (например, /hint для подсказки)
- 🎲 Режим сложности
✨ Готов к магическому приключению?
Скачайте скрипт и начните колдовать с числами! 🧙♂️✨ Убедитесь, что ваш терминал поддерживает ANSI-цвета для полного погружения в атмосферу волшебства.
#!/bin/bash
# Настройки цветов
RED=$(tput setaf 1)
GREEN=$(tput setaf 2)
YELLOW=$(tput setaf 3)
BLUE=$(tput setaf 4)
MAGENTA=$(tput setaf 5)
CYAN=$(tput setaf 6)
RESET=$(tput sgr0)
function get_hint() {
local diff=$1
diff=${diff#-} # Абсолютное значение
if (( diff == 0 )); then
echo "${GREEN}✨ Точная магия!${RESET}"
elif (( diff <= 5 )); then
echo "${RED}🔥 Пламя обжигает!${RESET}"
elif (( diff <= 10 )); then
echo "${MAGENTA}🌶️ Искры летят!${RESET}"
elif (( diff <= 20 )); then
echo "${YELLOW}☀️ Тепло волшебства${RESET}"
elif (( diff <= 30 )); then
echo "${CYAN}🌬️ Ветер перемен${RESET}"
elif (( diff <= 40 )); then
echo "${BLUE}❄️ Ледяные руны${RESET}"
else
echo "${BLUE}🧊 Холод древних чар${RESET}"
fi
}
echo -e "${MAGENTA}=== 🎩 Магическая угадайка ===${RESET}"
echo -e "${CYAN}Привет, волшебник! Я загадал число от 1 до 100...${RESET}"
target=$((RANDOM % 100 + 1))
attempts=0
last_diff=0
while true; do
read -p "Твое заклинание (число): " guess
if [[ "$guess" == "exit" ]]; then
echo -e "${YELLOW}🔮 Заклинание рассеяно! Число было: $target${RESET}"
exit
fi
if ! [[ "$guess" =~ ^[0-9]+$ ]] || (( guess < 1 )) || (( guess > 100 )); then
echo -e "${YELLOW}🧙♂️ Только цифры в свитке, маг!${RESET}"
continue
fi
attempts=$((attempts + 1))
diff=$((guess - target))
hint=$(get_hint $diff)
if (( diff == 0 )); then
echo -e "${GREEN}🎉 Поздравляю! Ты угадал за $attempts попыток!${RESET}"
echo -e "${MAGENTA}✨ Магия сработала!${RESET}"
break
else
echo -n "$hint "
# Подсказка о направлении
if (( last_diff != 0 )); then
if (( ${diff#-} < ${last_diff#-} )); then
echo -e "${GREEN}↑ Сила растёт!${RESET}"
elif (( ${diff#-} > ${last_diff#-} )); then
echo -e "${BLUE}↓ Магия угасает...${RESET}"
fi
fi
last_diff=$diff
fi
done