Задача 5. Марсоход 2

К роботу Валли отправили ещё одного робота Билли. Это его первый поход на Марс, поэтому он тестируется в прямоугольном помещении размером 15 на 20 метров. Марсоход высаживается в центре комнаты (в точке 8, 10), после чего управление им передаётся оператору — пользователю вашей программы.

Программа спрашивает в какую сторону оператор хочет направить робота: север (клавиша W), юг (клавиша S), запад (клавиша A) или восток (клавиша D).

Оператор делает выбор, марсоход перемещается на 1 метр в эту сторону и программа сообщает новую позицию марсохода. Если марсоход упёрся в стену, то он не должен пытаться перемещаться в сторону стены, в этом случае его позиция не меняется.

Пример:
[Программа]: Марсоход находится на позиции 6, 19, введите команду:
[Оператор]: A
[Программа]: Марсоход находится на позиции 5, 19, введите команду:
[Оператор]: W
[Программа]: Марсоход находится на позиции 5, 20, введите команду:
[Оператор]: W
[Программа]: Марсоход находится на позиции 5, 20, введите команду:

Решение:

x = 8
y = 10

while True:
  print('[Программа]: Марсоход находится на позиции {0}, {1}, введите команду: '.format(x, y))
  vector = input('[Оператор]: ').upper()
  if vector == 'W' or vector == 'Ц': y += 1
  if vector == 'S' or vector == 'Ы': y -= 1
  if vector == 'A' or vector == 'Ф': x -= 1
  if vector == 'D' or vector == 'В': x += 1
  if vector == '0': break
  if x > 15: x = 15
  if y > 20: y = 20
  if x < 0: x = 0
  if y < 0: y = 0


1220login-checkЗадача 5. Марсоход 2

Добавить комментарий