К роботу Валли отправили ещё одного робота Билли. Это его первый поход на Марс, поэтому он тестируется в прямоугольном помещении размером 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