https://pastein.ru/t/jE
скопируйте уникальную ссылку для отправки
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.imageio.*;
import java.io.*;
public class Pole extends JPanel {
private Image santa;
private Image fon;
public int x = 350;
private Podarok[] presents; //Массив подарков
private int lvl;
//Здесь создается конструктор класса Pole
public Pole(int lvl) {
this.lvl = lvl;
presents = new Podarok[7];
for(int i=0; i<7; i++) {
try {
presents[i] = new Podarok(ImageIO.read(new File("C:\\gifts\\p"+i+".png")).getScaledInstance(100, 100, Image.SCALE_DEFAULT));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
santa = ImageIO.read(new File("C:\\gifts\\santa.png"));
fon = ImageIO.read(new File("C:\\gifts\\bg.jpg"));
}
catch (IOException ex) {
System.out.println("Изображение не найдено");
}
//таймер который создавать подарки на игровом поле
Timer timerUpdate = new Timer(3000, new ActionListener() {
public void actionPerformed(ActionEvent a) {
updateStart();
}
});
timerUpdate.start();
//тАймер для отрисовки новоого кадра
Timer timerDraw = new Timer(16, new ActionListener() {
public void actionPerformed(ActionEvent a) {
repaint();
}
});
timerDraw.start();
}
//Метод для проверки и добавления новых подарков
private void updateStart() {
int kol = 0; //переменная дл подсчета подарков на игровом
for(int i = 0; i<7; i++) {
if(presents[i].act == false) { //Если подарок не на игровом поле
if(kol < lvl) {
presents[i].start();
break;
}
}
else kol++;
}
}
public void paintComponent(Graphics gr) {
super.paintComponent(gr);
gr.drawImage(fon, 0, 0, null);
gr.drawImage(santa, x, 465,100,100, null);
for(int i =0; i<7; i++) {
presents[i].draw(gr);
}
}
}