неділю, 21 березня 2021 р.

Урок 3. Используем Greenfoot Java конструкции

Движение котика

На прошлом уроке мы создали актёров нашего мира. Теперь хочется, чтоб они двигались! Начнём с котика. 

Давайте думать как творцы Greenfoot. Раз они создали актёров, они же не могли оставить их без возможности двигаться? Это было бы жестоко. Тогда давайте поищем, какие возможности есть у актёров!

Для этого кликаем левой кнопкой мыши дважды по актёру-коту и открываем код.


Надеюсь, вы знаете английский на достаточном уровне, чтоб прочитать, что там написано голубым цветом над act(). Если не всё понятно, то можно воспользоваться помощью онлайн переводчика, например, этого

Сказано там, что act(), которое переводится как "действовать", соответствует действиям, выполняющимся после нажатия на кнопку старта программы Run или Act.  


Другими словами, в каждом актёре надо находить конструкцию act(), в середине которой можно писать действия ваших актёров. Следите, чтоб вы писали на белом фоне между фигурными скобками. 

                            

То, что сейчас написано - серенькое. А еще там и на русском и на английском. Думаете, будет работать? Чтоб проверить, можете написать то же самое, что у меня и нажать кнопку Run. 

Жаль, но чуда не случилось. А всё потому что перед текстом стоит //! Это означает, что Java не видит ваш код. После 2х слешов можно писать что угодно и никто об этом не узнает ;)

Подсказка от Greenfoot

А теперь как же сделать, чтоб таки компьютер начал выполнять ваш код?

На этом белом поле поставьте курсор мышки, нажмите и удерживайте две кнопки на клавиатуре: Ctrl + Space. Контрол + Пробел вызывают подсказки всех свойств, которыми владеет Актёр! Давайте посмотрим, какие у него есть возможности?


Попробуйте предположить, что стоит за каждым словом в этом списке? Если не знаете - можно читать описание. Пока многие из них нам не нужны. Важно прочесть их чтоб понять, какие из них могут соответствовать движениями и поворотам. Эти слова-действия тут написанные, называются методами. Можно сказать, что это методы с помощью которых котик может достигнуть своей цели - мышки! Ха-ха-ха-ха :)

Методы движения

Листаем список ниже пока не осенит мысль, что я хочу использовать этот метод! Я листала-листала и нашла:


Похоже, это именно то, что нам надо! Двигаться! Но не просто двигаться, а на сколько-то шагов. А вот их количество мы и зададим целым числом int (integer) в круглых скобках после того как напишем move(_).

Обратите внимание, что после каждой строчки-действия надо ставить ;. А для того, чтоб проверить, правильно ли вы все написали, нажимайте кнопку компиляции сверху.

Вроде все хорошо. Вот теперь точно давайте нажмем кнопку Run!

Побежал!

О чудо, котик побежал! Только вот давайте опять попробуем восстановить все события нажав на кнопку Reset и Run опять. Котик двигается рывками. Все потому что я ему поставила делать за раз сразу 10 шагов! 

Задание1: Давайте попробуем поменять это число на меньше и посмотрим, будут ли движения более гладкими. 

    Поворот

Помните, как будет повернуть на английском? Turn! Точно так же, как и в прошлый раз, нажимаем Контрол + Пробел и ищем нужное действие. Только в этот раз можем написать букву t. Мы ведь знаем, что искать. 

Находим метод turn(int) и его применяем. int - цело число, количество градусов, на которое надо поворачивать актёра. Я напишу для начала 2, а там посмотрим, как оно заработает.

Вот, что вышло:


Запустите программу и посмотрите, нравится ли вам как бегает кот? 

Задание 2: Попробуйте вместо 2 поставить -2 и проверьте, что выйдет.

Задание 

А теперь программирование. Чередуя вызовы move(_) и turn(_) сделайте, чтоб котик пошел
- 2 шага в право,
- повернулся на 15 градусов
- прошел 10 шагов в лево
- затем, поворот на 45 градусов
- и еще несколько шагов.

Где котик оказался? 
Сделайте, чтоб он достал мышку.

Немає коментарів:

Дописати коментар