Как записать на python программу для игры, в которой герой может перемещаться только влево и вправо по числовой прямой?

  • 61
Как записать на python программу для игры, в которой герой может перемещаться только влево и вправо по числовой прямой? На начальном этапе игры герой находится на отметке "start". Смещение вправо на 10 пунктов записывается как 10, а влево как -10. Ширина игрового поля составляет 100 пунктов, поэтому герой может перемещаться от отметки 0 до отметки 99. Игровое поле "закольцовано", что означает, что герой, выходя за правую границу экрана, появляется с левой стороны. Например, если герой находится на отметке 90 и получает команду переместиться вправо на 30 пунктов, он окажется на отметке 20. Герой
Chaynyy_Drakon
10
Для создания программы для такой игры на языке Python, вы можете использовать цикл while, чтобы управлять перемещением героя по числовой прямой. Вот пример программы, которая реализует заданное поведение героя:

python
# Установка начальных значений
position = 0
width = 100

# Основной игровой цикл
while True:
# Вывод текущего положения героя
print("Герой находится на отметке", position)

# Запрос ввода команды перемещения
move = input("Введите команду для перемещения (влево или вправо): ")

# Проверка введенной команды и обновление положения героя
if move == "влево":
position -= 10
elif move == "вправо":
position += 10
else:
print("Неверная команда! Попробуйте еще раз.")
continue

# Проверка и исправление положения героя, если он выходит за границы игрового поля
if position < 0:
position += width
elif position >= width:
position -= width


В этой программе переменная `position` хранит текущее положение героя на числовой прямой. Основной цикл `while` работает бесконечно, чтобы герой мог перемещаться по игровому полю. Программа выводит текущую позицию героя и запрашивает команду перемещения от пользователя с помощью функции `input()`. Затем, в зависимости от введенной команды, позиция героя изменяется на 10 пунктов влево или вправо. Если позиция героя выходит за границы игрового поля (меньше 0 или больше или равно ширине), она корректируется с учетом "закольцованности" поля.