colobot-data/help/R/tlaby2.txt

56 lines
2.4 KiB
Plaintext
Raw Normal View History

\b;Упражнение
Это упражнение очень напоминает предыдущее упражнение. В этот раз бот должен сам найти этот путь со стартовой точки и до финиша; вы должны будете запустить программу только один раз.
\b;Комментарий
Лабиринт слегка отличается от предыдущего, но это не важно, так как программа приспособится к тому, что она "видит".
\image tlaby1 10 10;
\b;Общий принцип
Используйте бесконечный цикл \c;\l;while\u cbot\while;\n;, чтобы выполнять предыдущую несколько раз:
\s;\c;while ( true )
\s;{
\s; \n;Если спереди нет ничего, идти вперед\c;
\s; \n;Если слева ничего нет, повернуть налево\c;
\s; \n;Если саправа ничего нет, повернуть направо\c;
\s;}
\n;
Внутри цикла \c;while\n; замените инструкции \c;return\n; на инструкции \c;\l;continue\u cbot\continue;\n;. \c;return\n; приведет к выходу из программы, что не совсем то, что нам нужно. \c;continue\n; просто продолжит выполнение программы с самого начала цикла \c;\l;while\u cbot\while;\n;:
\s;\c;if ( front == null )
\s;{
\s; move(5);
\s; continue;
\s;}
\n;
\b;Помните
Программа из предыдущего упражнения :
\c;
\s;object front, left, right;
\s;
\s;front = radar(Barrier, 0, 45, 0, 5);
\s;left = radar(Barrier, 90, 45, 0, 5);
\s;right = radar(Barrier, -90, 45, 0, 5);
\s;
\s;if ( front == null )
\s;{
\s; move(5);
\s; return;
\s;}
\s;if ( left == null )
\s;{
\s; turn(90);
\s; move(5);
\s; return;
\s;}
\s;if ( right == null )
\s;{
\s; turn(-90);
\s; move(5);
\s; return;
\s;}
\n;
\b;Помощь
Если вам понадобится помощь, шелкните на гиперлинке инструкций \c;\l;radar\u cbot\radar;\n;, \c;\l;if\u cbot\if;\n;, \c;\l;move\u cbot\move;\n; или \c;\l;turn\u cbot\turn;\n;.
\t;См. также
\l;Программирование\u cbot;, \l;типы\u cbot\type; и \l;категории\u cbot\category;.