sergAccount

Untitled

Oct 18th, 2020
823
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package game;
  7.  
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import javax.swing.JPanel;
  11. import javax.swing.Timer;
  12.  
  13. public class Pole extends JPanel{
  14.    
  15.     int slogn;
  16.     Image fon, shapka;
  17.     //
  18.     int shapkaX = 400;
  19.     // static final - константа
  20.     static final int shapkaY = 460;
  21.     // Timer
  22.     Timer timerDraw, timerUpdate;
  23.     // массив подарков
  24.     Podar[] gamePodar;
  25.    
  26.     public Pole(int slogn){
  27.         this.slogn = slogn;
  28.         fon = ImageUtil.loadImage(Game.getFonPath());
  29.         shapka = ImageUtil.loadImage(Game.getShapkaPath());
  30.         // создание массива объектов
  31.         gamePodar = new Podar[7];
  32.         for (int i = 0; i < gamePodar.length; i++) {
  33.              gamePodar[i] = new Podar(ImageUtil.loadImage(Game.getPodarokPath(i)));            
  34.         }
  35.         // 50 - интервал времени в миллисекундах
  36.         // repaint() - для период обновления экрана
  37.         timerDraw = new Timer(50, (e) -> repaint());
  38.         // вызов метода start
  39.         timerDraw.start();      
  40.         //
  41.         timerUpdate = new Timer(4000, (e) -> updateStart());
  42.         timerUpdate.start();
  43.     }
  44.     // метод для появления объектов типа Podar
  45.     private void updateStart() {
  46.         System.out.println("updateStart");
  47.         int kol = 0;
  48.         for (int i = 0; i < gamePodar.length; i++) {
  49.             if(gamePodar[i].act){
  50.                 kol++;
  51.             }else if(kol<slogn){
  52.                 gamePodar[i].start();
  53.                 break;
  54.             }            
  55.         }
  56.     }
  57.     //
  58.     public int getShapkaX(){
  59.         return shapkaX;
  60.     }
  61.     public void setShapkaX(int shapkaX){
  62.         this.shapkaX = shapkaX;
  63.     }
  64.     //
  65.     public void moveL(int shift){
  66.         shapkaX = shapkaX - shift;
  67.     }
  68.     public void moveR(int shift){
  69.         shapkaX = shapkaX + shift;
  70.     }
  71.     //
  72.     public void paintComponent(Graphics gr){
  73.         //
  74.         //System.out.println("paintComponent");        
  75.         super.paintComponent(gr);
  76.         // отображение граф информации
  77.         // drawImage - для отображения информации на основе объекта типа Image        
  78.         //String fileName = "k:/images/fon.jpg";        
  79.         //Image i = ImageUtil.loadImage(fileName);
  80.         // drawImage - для отображения информации на основе объекта типа Image
  81.         gr.drawImage(fon, 0, 0, null);
  82.         gr.drawImage(shapka, shapkaX, shapkaY, null);
  83.     }        
  84.  
  85.    
  86. }
  87.  
RAW Paste Data