Вопрос задан 06.07.2026 в 09:52. Предмет Информатика. Спрашивает Нескоромный Ярик.

Напишите код текстовой игры на Python.
Игрок перемещается по комнатам замка. В каждой комнате находится три двери. Одна дверь ведёт в комнату с драконом, другая — в комнату с живой водой, третья — пустая комната. Если игрок попадает в комнату с драконом — жизнь отнимается. Если игрок попадает в комнату с живой водой — жизнь добавляется. Если игрок попадает в пустую комнату — ничего не происходит. Игра продолжается до тех пор, пока у игрока есть жизни. Переход из одной комнаты в другую добавляет 100 баллов. Игра начинается с 3 жизнями и 0 баллами. Задача игры — набрать наибольшее количество баллов.

Перейти к ответам

Ответы на вопрос

Отвечает Рыбак Макс.

Вот один из вариантов реализации такой текстовой игры на Python. Логика построена так, что в каждой новой комнате случайным образом распределяются три двери: дракон, живая вода и пустая комната. Игрок выбирает дверь, получает эффект и переходит дальше, пока у него есть жизни.

Python
import 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 очков. Игра продолжается, пока жизни не закончатся.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос