Форум myROBOT.ru » Образовательные проекты » GameLOGO » Объясните пожалуйста как работает?

Страниц (1): [1]
 

1. ChesteR - 26 Октября, 2010 - 10:13:11 - перейти к сообщению
Не пойму кое что...
Прочитал статью о прохождении лабелинта черепашкой по правилу правой руки, но так и не понял как работает алгоритм написания...
' правило правой руки

повторять пока флаг = 0 {
направо 90
вперед 12
если датчик = 0 то
флаг = 1
иначе
если датчик < 50 то
назад 12
налево 90
вперед 12
если датчик < 50 то
назад 12
налево 90
конец условия
конец условия
конец условия
}
пиши "цель достигнута"
Я так и не понял какую роль инрает переменная "Флаг" и почему она имеет значения только 0 и 1 ? Замешательство
2. cjA - 26 Октября, 2010 - 14:05:39 - перейти к сообщению
повторять пока датчик /=0 { ?
можно и так наверное.
для удобства, котлеты отдельно, мухи отдельно.
3. ChesteR - 27 Октября, 2010 - 10:17:59 - перейти к сообщению
Так, как иначе можно написать эту программу не используя переменную "Флаг"?
4. cjA - 27 Октября, 2010 - 11:29:16 - перейти к сообщению
более глубее я не могу объяснить.
не знаю есть ли в гэймлого перечеслимые типы, но я бы еще длинее программу сделал если бы они были.

чем флаг то плох?
5. nest - 22 Мая, 2011 - 12:57:34 - перейти к сообщению
с помощью комманды "пиши" можно вывести текст в какое то определённое место на экране?

заданием позиции черепахи не получается...
6. killgur - 22 Мая, 2011 - 13:41:24 - перейти к сообщению
хоть и страя тема аж с 2010 но не удержался....

флаг это переменная по изменению которой на 1 как бы заканчивается цикл прохождения лабиринта.

по логике флаг не нужен если условием цикла сделать пока датчик <> 0


Вот такой код находит решение без всяких флагов


CODE:

фон = maze1.gif
поднять перо
место 115, 545

' поиск первой стены

повторять пока датчик > 50 {
вперед 12 }

' правило правой руки

повторять пока датчик <> 0 {
направо 90
вперед 12

если датчик =0 то
'печать "цель найдена"
пиши "цель найдена"

иначе

если датчик < 50 то
назад 12
налево 90
вперед 12
конец условия

если датчик <50 то
назад 12
налево 90
конец условия

конец условия}





язык LOGO я вообще уважаю еще со "спектрума".
-------------------------------- -------------------------------- ------------

Думал на 20 минут дела а оказалось на целый день ...

Вывести текст похоже можно только сверху слева ...

и что то он какой то слабовидимый %)

Как вариант- можно попробовать выводить длинные строки, но это похоже уже извращенный подход аля ASCII-графика MS-DOS, попробовать правда не успел.
7. Admin - 24 Мая, 2011 - 11:54:49 - перейти к сообщению
Текст можно вывести в любом месте и любым цветом.

Пример:

ручка RGB(255, 255, 150)
пиши 200, 150 ,"hello world"
8. nest - 24 Мая, 2011 - 22:08:19 - перейти к сообщению
Admin, о! в описании вроде бы нету.
только ещё не совсем ясно, где нулевые координаты Улыбка
9. Admin - 25 Мая, 2011 - 09:08:54 - перейти к сообщению
nest пишет:
в описании вроде бы нету


Это недокументированные возможности Улыбка

Нулевые координаты, как обычно, в верхнем левом углу.
10. cjA - 26 Мая, 2011 - 00:48:50 - перейти к сообщению
Admin пишет:

Это недокументированные возможности

это не баг, это фича (с)

nest, ТО говорит что в нашей вселенной не может быть каких-то определенных "нулевых" координат Голливудская улыбка

у меня черепашка по центру появлялась и вокруг ползала.
11. killgur - 26 Мая, 2011 - 09:15:16 - перейти к сообщению
Admin пишет:
nest пишет:
в описании вроде бы нету


Это недокументированные возможности Улыбка

Нулевые координаты, как обычно, в верхнем левом углу.



Похоже пора задокументировать Подмигивающий

Вопрос-

Можно ли считать в свою переменную текущие координаты черепашки x,y?

нашел в учебнике только как установить координату (место)
12. Admin - 26 Мая, 2011 - 22:29:29 - перейти к сообщению
переменная А
переменная Б

А = черепаха.х
Б = черепаха.у

или

А = .х
Б = .у
13. killgur - 27 Мая, 2011 - 08:53:11 - перейти к сообщению
Admin пишет:
переменная А
переменная Б

А = черепаха.х
Б = черепаха.у

или

А = .х
Б = .у


спасибо за информацию.
14. cjA - 31 Мая, 2011 - 01:51:19 - перейти к сообщению
а если две черепахи?
Admin, я очень за то чтобы вы развивали эту тему, но перемудрывать не нужно- черепахи начинают в своих координатах, а где ее видно- решает оператор.

в тривиальных случаях= кто кого соблазнил - бог не нужен.
15. Admin - 01 Июня, 2011 - 16:55:52 - перейти к сообщению
to cjA
Ваше сообщение понять не смог. Черепаха в GameLogo одна. О других объектах написано тут http://myrobot.ru/logo/objects.php