import random
import config
import logging
import aiogram.utils.markdown as fmt
from aiogram import Bot, Dispatcher, executor, types
HANGMAN = (
"""
""",
"""
----------
""",
"""
|
|
|
|
|
|
|
|
----------
""",
"""
|
|
|
|
|
|
|\\
| \\
----------
""",
"""
--------
|
|
|
|
|
|
|\\
| \\
----------
""",
"""
--------
| |
|
|
|
|
|
|\\
| \\
----------
""",
"""
--------
| |
| 0
| /X\\
| / \\
|
|
|\\
| \\
----------
"""
)
words = {"УРОКИ":"Что можно приготовить, но нельзя съесть?",
"ШАХМАТИСТ":"Кто ходит сидя?",
"ДВЕРЬ":"Кто приходит, кто уходит, все ее за ручку водят.",
"ДОРОГА":"Если б встала, до неба достала б.",
"ДЕНЬ":"К вечеру умирает, по утру оживает.",
"РАДИО":"В Москве говорят, а у нас слышно.",
"ВРЕМЯ":"Без ног и без крыльев оно, быстро летит, не догонишь его.",
"ТУАЛЕТНАЯ":"Самая популярная бумага",
"СЕКРЕТОМ":"Чем можно поделиться только один раз?"}
logging.basicConfig(level = logging.INFO)
bot = Bot(token=config.TOKEN)
dp = Dispatcher(bot)
@dp.message_handler(commands=["Висельница"])
async def start_game(message: types.Message):
key = random.choice(list(words.keys()))
length = "-"*len(key)
wrong = 0
used = []
while wrong < len(HANGMAN) and length != key:
await message.answer(
fmt.text(
fmt.text('Вы использовали эти буквы:', *used),
fmt.text("Ошибок:", fmt.hbold(wrong)),
fmt.text('Загадака звучит так:', words[key]),
fmt.text('Слово:', length),
sep="\n"
), parse_mode="HTML")
if message.text == key:
length = key
break
if message.text in key:
new = ""
for i in range(len(key)):
if message.text == key[i]:
new += message.text
else:
new += length[i]
length = new
else:
await message.answer(fmt.text(HANGMAN[wrong]))
wrong += 1
if length == key:
await message.answer(fmt.text("Вы победили!!! Загаданное слово было:", key))
else:
await message.answer(fmt.text('Вас повесили :('))
await message.answer(fmt.text('загаданное слово было:', key))
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)