Мастер класс по создания игры на Java "Подснежник собирает капли воды"
Г.Северобайкальск МАОУ ДО «ДДТ «Эврика»
Педагог дополнительного образования
программирование на языке Java
Барабанщикова Анастасия Евгеньевна
Мастер-класс:
Создание весенней игры в Greenfoot «Подснежник собирает капли воды»
(45 минут)
Мастер-класс: Создание игры "Подснежник собирает капли воды" (45 минут)

Цель мастер-класса:
Научить учеников создавать игру, где подснежник собирает падающие капли воды. В игре будет счетчик собранных капель и таймер.

План занятия:
Введение (5 минут)
Создание мира и добавление объектов (10 минут)
Программирование подснежника (10 минут)
Физминутка (5 минут)
Добавление капель, счетчика и таймера (10 минут)
Завершение игры и обсуждение (5 минут)

1. Введение (5 минут)
Цель: Познакомить учеников с темой и задачами мастер-класса.
Приветствие: "Здравствуйте, ребята! Сегодня мы создадим игру, где подснежник собирает падающие капли воды. В игре будет счетчик и таймер."
Объяснение: "Мы разделим занятие на несколько этапов: создание мира, программирование подснежника, добавление капель, счетчика и таймера."
Демонстрация: Покажите готовый пример игры, чтобы вдохновить учеников.

2. Создание мира и добавление объектов (10 минут)
Цель: Создать игровой мир и добавить основные объекты.
Создание мира:
Откройте Greenfoot и создайте новый проект.
Создайте класс RainWorld, который будет нашим игровым миром.
Установите размер мира (например, 600x400).
Установите изображение, например “fon.png”.

import greenfoot.*;
public class RainWorld extends World {
public RainWorld() {
super(600, 400, 1);
setImage(“fon.png”);
prepare();
}
private void prepare() {
addObject(new Snowdrop(), 300, 350); // Добавляемподснежник
}
}
Добавление подснежника:
Создайте класс Snowdrop.
Добавьте изображение для подснежника (например, snowdrop.png).

import greenfoot.*;
public class Snowdrop extends Actor {
public Snowdrop() {
setImage("snowdrop.png"); // Загрузите изображение
}
}
Запустите мир: Убедитесь, что подснежник появляется в мире.

3. Программирование подснежника (10 минут)
Цель: Научить подснежник двигаться влево и вправо.
Добавьте управление:
В классе Snowdrop добавьте метод act(), чтобы подснежник мог двигаться.
public void act() {
move();
}
private void move() {
if (Greenfoot.isKeyDown("left")) {
setLocation(getX() - 5, getY()); // Движение влево
}
if (Greenfoot.isKeyDown("right")) {
setLocation(getX() + 5, getY()); // Движение вправо
}
}
Проверка: Убедитесь, что подснежник двигается с помощью клавиш влево и вправо.

4. Физминутка (5 минут)
Цель: Размяться и отдохнуть.
Упражнения:
Встаньте и потянитесь вверх, как будто вы тянетесь к солнцу.
Сделайте 5 приседаний, как будто вы сажаете цветы.
Покрутите руками, как будто вы летаете, как бабочка.
Сделайте 5 прыжков, чтобы взбодриться.
Возвращение к работе: "Теперь, когда мы немного размялись, давайте добавим капли, счетчик и таймер!"

5. Добавление капель, счетчика и таймера (10 минут)
Цель: Сделать игру интереснее, добавив падающие капли, счетчик и таймер.
Создание капель:
Создайте класс WaterDrop.
Добавьте изображение капли (например, waterdrop.png).

import greenfoot.*;
public class WaterDrop extends Actor {
public WaterDrop() {
setImage("waterdrop.png"); // Загрузите изображение
}
public void act() {
fall(); // Капля падает вниз
}
private void fall() {
setLocation(getX(), getY() + 2); // Движение вниз
if (getY() >= getWorld().getHeight() - 1) {
getWorld().removeObject(this); // Удаляем каплю, если она достигла низа
}
}
}
Добавление капель в мир:
В классе RainWorld добавьте метод для создания капель в случайных местах.
public void act() {
if (Greenfoot.getRandomNumber(100) < 10) { // 10% шанссоздатькаплю
addObject(new WaterDrop(), Greenfoot.getRandomNumber(600), 0);
}}
Добавление счетчика:
В классе Snowdrop добавьте переменную для счета и метод для его увеличения.
private int score = 0;
public void act() {
move();
checkCollision();
}
private void checkCollision() {
if (isTouching(WaterDrop.class)) {
removeTouching(WaterDrop.class); // Убираем каплю
score++; // Увеличиваем счет
Greenfoot.playSound("collect.wav"); // Звуксбора
}
}
public int getScore() {
return score; // Возвращаемсчет
}
Добавлениетаймера:
В классе RainWorld добавьте переменную для времени и метод для его обновления.
private int time = 60; // Начальное время (60 секунд)
public void act() {
if (Greenfoot.getRandomNumber(100) < 10) {
addObject(new WaterDrop(), Greenfoot.getRandomNumber(600), 0);
}
updateTimer();
}
private void updateTimer() {
if (time > 0) {
time--; // Уменьшаем время
showTime();
} else {
endGame();
}
}
private void showTime() {
showText("Время: " + time, 500, 25); // Отображаем время
}
private void endGame() {
showText("Времявышло!Счет: " + ((Snowdrop) getObjects(Snowdrop.class).get(0)).getScore(), 300, 200);
Greenfoot.stop(); // Останавливаем игру
}
6.Завершение игры и обсуждение (5 минут)
Цель: Подвести итоги и обсудить результаты.
Демонстрация: Попросите учеников показать свои игры.

Обсуждение:
Что понравилось больше всего?
Какие трудности возникли?
Что бы вы хотели добавить в игру?
Домашнее задание: Предложите ученикам добавить в игру новые элементы, например, увеличивающуюся скорость падения капель или дополнительные уровни.

Итог:
За 45 минут ученики создадут игру, где подснежник собирает падающие капли воды. Они научатся работать с Greenfoot, добавлять счетчик и таймер, а также программировать взаимодействие объектов.
Чтобы оставлять комментарии, вам необходимо авторизоваться на сайте. Если у вас еще нет учетной записи на нашем сайте, предлагаем зарегистрироваться. Это займет не более 5 минут.