Методическая разработка занятия на тему «Время года – лето» в Greenfoot (Java)
Г.Северобайкальск МАОУ ДО «ДДТ «Эврика»
Педагог дополнительного образования
программирование на языке Java
Барабанщикова Анастасия Евгеньевна
Методическая разработка занятия на тему
«Время года – лето» в Greenfoot (Java)
1. Цели занятия
Образовательные:
Познакомить учащихся с основами программирования на Java в среде Greenfoot
Научить создавать простые анимации, связанные с временами года
Закрепить знания о характерных признаках лета через программирование
Развивающие:
Развивать логическое и алгоритмическое мышление
Развивать креативность при создании визуальных элементов
Развивать навыки отладки кода
Воспитательные:
Воспитывать интерес к программированию
Формировать эстетическое восприятие через создание визуальных образов
2. Оборудование и ПО
Компьютеры с установленной средой Greenfoot
Проектор для демонстрации примеров
Раздаточные материалы с основными конструкциями Java
3. План занятия (45 минут)
1. Вводная часть (10 минут)
Объяснение темы и целей занятия
Краткий обзор характерных признаков лета (солнце, цветы, насекомые, жара и т.д.)
Демонстрация готового примера летнего пейзажа в Greenfoot
2. Основная часть (30 минут)
Практическая работа: Создание летней сцены
Шаг 1: Создание мира
public class SummerWorld extends World {
public SummerWorld() {
super(600, 400, 1);
setBackground("summer_background.jpg");
prepare();
}
private void prepare() {
// Добавление объектов в мир
addObject(new Sun(), 100, 100);
addObject(new Cloud(), 400, 150);
addObject(new Flower(), 300, 350);
addObject(new Butterfly(), 200, 200);
}
}

Шаг 2: Создание класса Солнца
public class Sun extends Actor {
private int temperature = 30;
public void act() {
shine();
checkTemperature();
}
private void shine() {
//Анимациясияния
if (Greenfoot.getRandomNumber(100) < 5) {
getWorld().addObject(new SunRay(), getX(), getY());
}
}
private void checkTemperature() {
//Увеличениетемпературы
if (temperature < 40 && Greenfoot.getRandomNumber(100) < 10) {
temperature++;
}
}}

Шаг 3: Создание класса Цветка
public class Flower extends Actor {
private int growthStage = 0;
public Flower() {
setImage("flower_sprout.png");
}
public void act() {
grow();
}
private void grow() {
if (growthStage < 3 && Greenfoot.getRandomNumber(100) < 2) {
growthStage++;
updateImage();
}
}
private void updateImage() {
switch(growthStage) {
case 1: setImage("flower_small.png"); break;
case 2: setImage("flower_medium.png"); break;
case 3: setImage("flower_full.png"); break;
}
}
}

Шаг 4: Создание класса Бабочки
public class Butterfly extends Actor {
private int speed = Greenfoot.getRandomNumber(3) + 1;
public void act() {
move(speed);
randomTurn();
checkEdge();
animate();
}
private void randomTurn() {
if (Greenfoot.getRandomNumber(100) < 10) {
turn(Greenfoot.getRandomNumber(60) - 30);
}
}
private void checkEdge() {
if (isAtEdge()) {
turn(180);
}
}
private void animate() {
// Смена изображений для анимации полета
if (getImage().equals("butterfly1.png")) {
setImage("butterfly2.png");
} else {
setImage("butterfly1.png");
}
}
}

3. Заключительная часть (5 минут)
Обсуждение результатов
Ответы на вопросы
Подведение итогов
4. Дифференцированный подход
Для начинающих:
Работа с готовыми классами, изменение параметров
Добавление простых объектов (трава, камни)
Для продвинутых:
Добавление интерактивности (реакция на клик)
Создание системы погоды (дождь, гроза)
Реализация смены дня и ночи
5. Методические рекомендации
Перед занятием подготовить все необходимые изображения
Для экономии времени можно предоставить учащимся частично готовый проект
Поощрять эксперименты с параметрами и поведением объектов
Использовать метод "парного программирования" для начинающих
Чтобы оставлять комментарии, вам необходимо авторизоваться на сайте. Если у вас еще нет учетной записи на нашем сайте, предлагаем зарегистрироваться. Это займет не более 5 минут.