0 / 0 / 0
Регистрация: 16.03.2015
Сообщений: 1
|
||||||
1 | ||||||
Управления роботом ищущим артефакт в лабиринте16.03.2015, 10:09. Показов 3943. Ответов 1
Метки нет (Все метки)
Необходимо составить функцию maze_controller () для управления роботом ищущим артефакт в лабиринте. Известно, что лабиринт является квадратным, где-то в нем должен находиться артефакт и все. План лабиринта и его точные размеры, как и точное местонахождение входа и искомого артефакта, неизвестны.
Робот «видит» только то, что находится непосредственно перед ним и определяет наличие препятствий на пути только при непосредственном контакте с ними. У робота есть объектно-ориентированный интерфейс управления со следующими методами: go () - проехать на поле вперед, возвращает True или False в зависимости от того, удалось проехать (например, перед роботом может находиться стена). Если проехать невозможно, робот остается на месте. turn_left () - повернуть на 90 градусов против часовой стрелки. turn_right () - повернуть на 90 градусов по часовой стрелке. found () - проверяет, находится кольцо в зоне видимости работа. В качестве единственного аргумента при вызове функции maze_controller () передается инициализирован объект класса MazeRunner для управления роботом. Функция maze_controller ничего не возвращает с помощью оператора return. Но в результате ее работы робот должен быть переведен в поле лабиринта, в котором находится искомый артефакт (считать, что артефакт всегда присутствует в лабиринте). То есть после вызова maze_controller (maze_runner), метод объекта maze_runner.found () должен возвращать True. Прямой доступ к изображению лабиринта запрещен. Пример класса MazeRunner:
maze_example1 = { 'm': [ [0,0,0,1,1,0,1,1,0,0,0], [0,1,0,0,0,0,0,0,0,1,0], [0,1,0,1,1,1,1,1,0,1,0], [0,0,0,1,0,0,0,1,0,0,0], [0,0,1,1,0,0,0,1,1,0,0], [0,0,1,0,0,0,0,0,1,0,0], [0,0,1,0,1,0,1,0,1,0,0], [0,0,1,0,0,0,0,0,1,0,0], [0,0,1,1,1,0,1,1,1,0,0], [0,0,0,0,0,0,0,0,0,0,0], [0,0,1,0,1,0,1,0,1,0,0], ], 's': (0,5), 'f': (4,5) } maze_runner = MazeRunner(maze_example1['m'], maze_example1['s'], maze_example1['f']) # инициализация работа maze_controller(maze_runner) # вызов вашей функции print maze_runner.found() # проверка того, что артефакт найден, должно быть True
0
|
16.03.2015, 10:09 | |
Ответы с готовыми решениями:
1
Нужна система управления роботом способ управления подводным роботом? Разработать архитектуру программы управления роботом Интерфейс для управления роботом на Андройде |
Alex Pancho
|
17.03.2015, 13:33
Управления роботом ищущим артефакт в лабиринте
#2
|
Не по теме:
Кликните здесь для просмотра всего текста
0
|
17.03.2015, 13:33 | |
17.03.2015, 13:33 | |
Помогаю со студенческими работами здесь
2
Цветовая палитра для программы управления роботом. Интерпретатор для языка управления роботом(похоже на LightBot) Артефакт артефакт на мониторе Артефакт на сайте Странный артефакт Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |