https://pastein.ru/t/jN

  скопируйте уникальную ссылку для отправки


import java.awt.event.*;
import java.awt.*;
import javax.swing.*;


public class Podarok {
	public Image img;
	public int x,y;
	public boolean act; //делаем подарок видимым или невидимым
	private Timer timerUpdate;
	
	//Это конструктор
	public Podarok(Image img) {
		//Создание и настройка таймера отвечающего за движение подарка вниз
		timerUpdate = new Timer(15, new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				vniz();
			}
		});
		
		// Передача изображения из круглых скобок КОнструктора в переменную класса
		this.img = img;
		// Изначально, делаем все подарки невидимыми, т.е. их нет на игровом поле
		act = false;
	}
	
	//Метод, выполняющий активизацию подарка на игровом поле.
	//Он выводит подарок наверху игрового поля
	public void start() {
		timerUpdate.start();
		y = 0;
		//отступ слева в пикселях. Получаем случайное(рандомное) значение от 0 до 700
		x = (int)(Math.random()*700);
		act = true;
	}
	
	//Метод, который двигает подарок вниз
	public void vniz() {
		if(act == true) { //Если подарок видно и он активен на игровом поле, то:
			y += 2; //Увеличиваем отступ сверху, т.е. координату по у на 6
		}
		//если подарок достиг самой нижней части экрана, то нужно остановиться
		if(y+img.getHeight(null) >= 470) {
			timerUpdate.stop();
		}
	}
	
	public void draw(Graphics gr) {
		if(act == true) {
			gr.drawImage(img, x,y,null);
		}
	}
}