Вопрос задан 06.07.2026 в 09:52.
Предмет Информатика.
Спрашивает Нескоромный Ярик.
Напишите код текстовой игры на Python.
Игрок перемещается по комнатам замка. В каждой комнате находится три двери. Одна дверь ведёт в комнату с драконом, другая — в комнату с живой водой, третья — пустая комната. Если игрок попадает в комнату с драконом — жизнь отнимается. Если игрок попадает в комнату с живой водой — жизнь добавляется. Если игрок попадает в пустую комнату — ничего не происходит. Игра продолжается до тех пор, пока у игрока есть жизни. Переход из одной комнаты в другую добавляет 100 баллов. Игра начинается с 3 жизнями и 0 баллами. Задача игры — набрать наибольшее количество баллов.
Ответы на вопрос
Отвечает Рыбак Макс.
Вот один из вариантов реализации такой текстовой игры на Python. Логика построена так, что в каждой новой комнате случайным образом распределяются три двери: дракон, живая вода и пустая комната. Игрок выбирает дверь, получает эффект и переходит дальше, пока у него есть жизни.
Pythonimport random
def generate_room():
"""Создаёт комнату с тремя случайными дверями."""
doors = ["дракон", "живая вода", "пусто"]
random.shuffle(doors)
return doors
def play_game():
lives = 3
score = 0
room_number = 1
print("Игра начинается!")
print("У вас 3 жизни и 0 очков.")
print("---------------------------")
while lives > 0:
print(f"\nКомната {room_number}")
doors = generate_room()
print("Перед вами три двери: 1, 2, 3")
print("Выберите дверь (1-3): ")
try:
choice = int(input("> "))
if choice < 1 or choice > 3:
print("Неверный выбор. Потеря хода!")
continue
except ValueError:
print("Введите число от 1 до 3!")
continue
result = doors[choice - 1]
if result == "дракон":
lives -= 1
print("Вы встретили дракона! -1 жизнь.")
elif result == "живая вода":
lives += 1
print("Вы нашли живую воду! +1 жизнь.")
else:
print("Пустая комната. Ничего не произошло.")
score += 100
print(f"Переход в следующую комнату. +100 очков.")
print(f"Жизни: {lives}, Очки: {score}")
room_number += 1
print("\nИгра окончена!")
print(f"Ваш итоговый результат: {score} очков")
if __name__ == "__main__":
play_game()
В этой реализации:
Игра начинается с 3 жизней и 0 очков. Каждая новая комната генерируется случайно, поэтому расположение дракона, воды и пустоты меняется каждый ход. Игрок вводит номер двери от 1 до 3. После выбора сразу происходит событие:
— дракон уменьшает жизни на 1
— живая вода увеличивает жизни на 1
— пустая комната не влияет на жизни
После каждого перехода начисляется 100 очков. Игра продолжается, пока жизни не закончатся.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

