Предмет: Информатика,
автор: Аноним
Напишите скрипт на Python для телеграмм-бота с помощью библиотеки telebot игра Камень, ножницы, бумага где пользователь выбирает Камень, ножницы или бумагу и после на основе того что выбрал пользователь бот тоже будет выберать или Камень, ножницы или бумагу и если человек выйграл то он получает очки иначе ничего не получает
Ответы
Автор ответа:
0
import telebot
import random
TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN'
bot = telebot.TeleBot(TOKEN)
user_scores = {}
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message, "Привет! Давай сыграем в Камень, ножницы, бумага. Выбери один из вариантов: /камень, /ножницы, /бумага")
@bot.message_handler(commands=['камень', 'ножницы', 'бумага'])
def play_game(message):
user_choice = message.text[1:] # remove '/' from the command
bot_choice = random.choice(['камень', 'ножницы', 'бумага'])
result = determine_winner(user_choice, bot_choice)
if result == 'win':
user_scores[message.chat.id] = user_scores.get(message.chat.id, 0) + 1
bot.reply_to(message, f"Ты выбрал {user_choice}, я выбрал {bot_choice}. Ты победил! Твои очки: {user_scores[message.chat.id]}")
elif result == 'lose':
bot.reply_to(message, f"Ты выбрал {user_choice}, я выбрал {bot_choice}. Ты проиграл. Твои очки: {user_scores.get(message.chat.id, 0)}")
else:
bot.reply_to(message, f"Ты выбрал {user_choice}, я выбрал {bot_choice}. Ничья! Твои очки: {user_scores.get(message.chat.id, 0)}")
def determine_winner(player_choice, bot_choice):
if player_choice == bot_choice:
return 'draw'
elif (player_choice == 'камень' and bot_choice == 'ножницы') or \
(player_choice == 'ножницы' and bot_choice == 'бумага') or \
(player_choice == 'бумага' and bot_choice == 'камень'):
return 'win'
else:
return 'lose'
bot.polling()
Не забудьте заменить 'YOUR_TELEGRAM_BOT_TOKEN' на токен вашего бота. Этот скрипт создает телеграм-бота, который реагирует на команды /камень, /ножницы и /бумага, определяет победителя и ведет подсчет очков.
import random
TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN'
bot = telebot.TeleBot(TOKEN)
user_scores = {}
@bot.message_handler(commands=['start', 'help'])
def send_welcome(message):
bot.reply_to(message, "Привет! Давай сыграем в Камень, ножницы, бумага. Выбери один из вариантов: /камень, /ножницы, /бумага")
@bot.message_handler(commands=['камень', 'ножницы', 'бумага'])
def play_game(message):
user_choice = message.text[1:] # remove '/' from the command
bot_choice = random.choice(['камень', 'ножницы', 'бумага'])
result = determine_winner(user_choice, bot_choice)
if result == 'win':
user_scores[message.chat.id] = user_scores.get(message.chat.id, 0) + 1
bot.reply_to(message, f"Ты выбрал {user_choice}, я выбрал {bot_choice}. Ты победил! Твои очки: {user_scores[message.chat.id]}")
elif result == 'lose':
bot.reply_to(message, f"Ты выбрал {user_choice}, я выбрал {bot_choice}. Ты проиграл. Твои очки: {user_scores.get(message.chat.id, 0)}")
else:
bot.reply_to(message, f"Ты выбрал {user_choice}, я выбрал {bot_choice}. Ничья! Твои очки: {user_scores.get(message.chat.id, 0)}")
def determine_winner(player_choice, bot_choice):
if player_choice == bot_choice:
return 'draw'
elif (player_choice == 'камень' and bot_choice == 'ножницы') or \
(player_choice == 'ножницы' and bot_choice == 'бумага') or \
(player_choice == 'бумага' and bot_choice == 'камень'):
return 'win'
else:
return 'lose'
bot.polling()
Не забудьте заменить 'YOUR_TELEGRAM_BOT_TOKEN' на токен вашего бота. Этот скрипт создает телеграм-бота, который реагирует на команды /камень, /ножницы и /бумага, определяет победителя и ведет подсчет очков.
Похожие вопросы
Предмет: Литература,
автор: dashapipus
Предмет: Математика,
автор: urodebanyj977
Предмет: Английский язык,
автор: nikastepnova1
Предмет: Қазақ тiлi,
автор: aliaruzhan07