old-java-games

java games my brother and I developed as kids.
Log | Files | Refs | README

ZombieArea.java (3021B)


      1 import java.awt.*;
      2 import java.awt.event.ActionEvent;
      3 import java.awt.event.ActionListener;
      4 import java.io.File;
      5 import java.io.IOException;
      6 import java.util.logging.Level;
      7 import java.util.logging.Logger;
      8 
      9 import javax.imageio.ImageIO;
     10 import javax.swing.JPanel;
     11 
     12 public class ZombieArea extends JPanel implements ActionListener {
     13     private static final long serialVersionUID = 8492549939914174796L;
     14     Zombie myApplet = null;
     15     Image zombieImage;
     16     Image personImage;
     17     Image pitImage;
     18     private Image explosion1, explosion2, explosion3;
     19     
     20     public ZombieArea(Zombie parent) {
     21         myApplet = parent;
     22 
     23         try {
     24             zombieImage= ImageIO.read(new File("../Assets/zombie.gif"));
     25             personImage = ImageIO.read(new File("../Assets/person.gif"));
     26             pitImage = ImageIO.read(new File("../Assets/pit.gif"));
     27             explosion1 = ImageIO.read(new File("../Assets/explosion1.gif"));
     28             explosion2 = ImageIO.read(new File("../Assets/explosion2.gif"));
     29             explosion3 = ImageIO.read(new File("../Assets/explosion3.gif"));
     30         } catch (IOException ex) {
     31             Logger.getLogger(ZombieArea.class.getName()).log(Level.SEVERE, null, ex);
     32         }
     33     }
     34 
     35     @Override
     36     public void paintComponent(Graphics g) {
     37         super.paintComponent(g);
     38 
     39         if (myApplet == null) return;
     40         final int w = getBounds().width;
     41         final int h = getBounds().height;
     42         g.setColor(Color.gray);
     43         g.fillRect(0, 0, w, h);
     44         g.setColor(Color.black);
     45 
     46         if (Zombie.playerPosition != null) {
     47             // show the player
     48             //g.drawString("#", myApplet.playerPosition.x, myApplet.playerPosition.y);
     49             g.drawImage(personImage, Zombie.playerPosition.x, Zombie.playerPosition.y,Color.gray, null);
     50 
     51             // show the pits
     52             for (int i=0; i < Zombie.pitPositions.length; i++) {
     53                 g.drawImage(pitImage, Zombie.pitPositions[i].x, Zombie.pitPositions[i].y,Color.gray, null);
     54             }
     55         
     56             // show the zombies
     57             for (int i=0; i < Zombie.zombiePositions.length; i++) {
     58                 if (Zombie.zombiePositions[i].x > -1) 
     59                     g.drawImage(zombieImage, Zombie.zombiePositions[i].x, Zombie.zombiePositions[i].y,null);
     60             }
     61 
     62             if (myApplet.explosionx != -1) {
     63                 g.drawImage(explosion1, myApplet.explosionx, myApplet.explosiony,Color.gray, null);
     64 
     65                 try {
     66                     Thread.sleep(80);
     67                     g.drawImage(explosion2, myApplet.explosionx, myApplet.explosiony,Color.gray, null);
     68                     Thread.sleep(80);
     69                     g.drawImage(explosion3, myApplet.explosionx, myApplet.explosiony,Color.gray, null);
     70                 }
     71                 catch (Exception e) {}
     72                 myApplet.explosionx = -1;
     73                 myApplet.explosiony=-1;
     74             }
     75         }
     76     }
     77 
     78     @Override
     79     public void actionPerformed(ActionEvent arg0) {
     80         repaint();
     81     }
     82 }