В нашей игре персонаж будет собирать полезные штуки и бегать от вредных.
Для начала скачайте заготовку для игры и откройте её в программе Greenfoot.
Справа мы видим:Actor - класс всех действующих персонажей
Animal - класс животных
Crab - класс крабов.
Краб - это Животное, Животное - это Персонаж.
Первым делом научим Краба (Crab) двигаться.
Открываем класс Краба (Crab)
Находим действие - строки
public void act()
{
// Add your action code here
}
Заменяем серую строку
// Add your action code here
на команду двигаться
move();
Добавьте Краба в мир (правой кнопкой на класс Краба (Crab) справа и выбрать первый пункт new Crab())
Запустите программу - краб пополз.
Добавьте нескольких крабов и запустите снова.
Добавьте после
move();
команду Повернуть на 5 градусов (turn(5);) так:
public void act()
{
move();
turn(5);
}
Создайте одного или нескольких крабов и запустите.
? Что будет, если вместо 5 поставить 25?
? Сделайте, чтобы краб поворачивал в другую сторону ?
Уберите ";" после move() и скомпилируйте программу - возникнет ошибка компиляции. Добавьте ; обратно и скомпилируйте - ошибка исчезнет.
Чтобы увидеть, что умеет класс Животное (Animal), откройте Animal в редакторе и выберете Документацию вместо Исходного кода.
Будут показаны все действия, доступные классу Животного (Animal).
? Сколько действий доступно классу Животного (Animal)
Создайте краба, правой кнопкой нажмите и найдите atWorldEdge().
? Что вернёт метод atWorldEdge() ?
? Что вернёт метод atWorldEdge() у Краба, стоящего на краю мира ?
В классе Краб (Crab) отредактируйте метод public void act(), чтобы он выглядел так:
public void act()
{
if ( atWorldEdge() )
{
turn(17);
}
move();
}
? Что теперь делает Краб на краю экрана ?
? Сделайте так, чтобы Краб на краю экрана разворачивался обратно ?
? Что будет делать Краб, если написать
public void act()
{
if ( atWorldEdge() )
{
turn(17);
move();
}
}
Слово() - это вызов метода "Слово".
Вызов метода заставляет персонаж выполнить какое-то действие.
Дополнительную информацию для метода можно передать в скобках. То, что передают, называется параметр.
Инструкции персонаж выполняет в той последовательности, в которой они указаны.
При компиляции проверяется, что инструкции написаны на понятном персонажу языке. Всё, что непонятно, помечается как ошибка, которую нужно исправить для того, чтобы программа запустилась.
Подкласс наследует все действия родительского класса, например: Краб (Crab) является также Животным (Animal) и может выполнять все действия Животного.
Метод, объявленный void, выполняет действие, а с другим типом отвечает на вопрос.
Оператор условия (if) нужен, чтобы выполнять действия только иногда.