"Цикл" в значение "Логическое значение" (Рис. 11, 12 поз. 7), выходной параметр "Результат" программного блока "Логические операции" (Рис. 11, 12 поз. 6)соединим с входным параметром "Пока не будет истина" программного блока "Цикл" (Рис. 11, 12 поз. 8). Данные настройки завершат выполнение цикла при "Истинном" результате выполнения логической операции.
Рис. 11
Рис. 12
Давайте протестируем получившийся алгоритм атаки! Для этого поместим нашего робота внутрь ринга, напротив установим неподвижного соперника и запустим программу атаки на выполнение. Наш робот должен уверенно вытолкать соперника за пределы ринга и остановиться над черной границей поля. Получилось? Значит наш сумоист верно контролирует границу ринга.
Проведем второй эксперимент: снова установим напротив робота неподвижного соперника и запустим программу атаки. Когда наш робот устремится к сопернику и приблизится достаточно близко, резко уберём соперника в сторону. Наш робот должен, потеряв соперника, остановиться.
Подведем итог: мы реализовали алгоритм поиска соперника и успешно его протестировали, также прошел проверку алгоритм атаки.
Законченная программа сумоиста должна в бесконечном цикле выполнять последовательно поиск соперника, а затем - атаку соперника. Можно было бы уже объединить обе части нашей программы, если бы не одно маленькое дополнение. Если наш робот остановился над границей ринга, то перед тем, как начать поиск, роботу следует, отъехав немного назад, вернуться внутрь ринга. Дополним нашу программу атаки следующим кодом: за пределами цикла атаки, воспользуемся программным блоком "
Достарыңызбен бөлісу: |