Advertisement
Guest User

The-Box

a guest
Mar 19th, 2012
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.69 KB | None | 0 0
  1. package Box;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Font;
  5. import java.awt.Graphics;
  6. import java.awt.Image;
  7. import java.awt.event.KeyAdapter;
  8. import java.awt.event.KeyEvent;
  9. import java.awt.event.MouseAdapter;
  10. import java.awt.event.MouseEvent;
  11.  
  12. import javax.swing.ImageIcon;
  13. import javax.swing.JFrame;
  14.  
  15. public class Display extends JFrame implements Runnable {
  16.     private static final long serialVersionUID = 1L;
  17.  
  18.     public static String TITLE = "The Box Alpha 0.05";
  19.     public static int WIDTH = 600;
  20.     public static int HEIGHT = 400;
  21.  
  22.     public int moveSpeed = 5;
  23.  
  24.     int xChar, yChar, xMouse, yMouse, xLaser, yLaser, xZombie = 50, yZombie = 50, xDirection, yDirection;
  25.     ZombieClass[] zombies = new ZombieClass[5];
  26.  
  27.     private Image dbImage;
  28.     private Graphics dbg;
  29.     Font font = new Font("Arial", Font.BOLD, 30);
  30.     Image charImage, backImage, zombieImage;
  31.     boolean MouseOnScreen;
  32.  
  33.     public void run() {
  34.         try {
  35.             while (true) {
  36.  
  37.                 move();
  38.                 FindCharacter();
  39.  
  40.                 Thread.sleep(10);
  41.  
  42.             }
  43.         } catch (Exception e) {
  44.             System.out.println("Error");
  45.         }
  46.     }
  47.  
  48.     public void move() {
  49.         xChar += xDirection;
  50.         yChar += yDirection;
  51.  
  52.         if (xChar <= 0) {
  53.             xChar = 0;
  54.         }
  55.         if (xChar >= WIDTH - 32) {
  56.             xChar = WIDTH - 32;
  57.         }
  58.         if (yChar <= 24) {
  59.             yChar = 24;
  60.         }
  61.         if (yChar >= HEIGHT - 32) {
  62.             yChar = HEIGHT - 32;
  63.         }
  64.  
  65.     }
  66.  
  67.     public void setXDirection(int xdir) {
  68.         xDirection = xdir;
  69.     }
  70.  
  71.     public void setYDirection(int ydir) {
  72.         yDirection = ydir;
  73.     }
  74.  
  75.     public class AL extends KeyAdapter {
  76.         public void keyPressed(KeyEvent e) {
  77.             int keyCode = e.getKeyCode();
  78.  
  79.             if (keyCode == e.VK_LEFT) {
  80.                 setXDirection(-moveSpeed);
  81.             }
  82.  
  83.             if (keyCode == e.VK_RIGHT) {
  84.                 setXDirection(+moveSpeed);
  85.             }
  86.  
  87.             if (keyCode == e.VK_UP) {
  88.                 setYDirection(-moveSpeed);
  89.             }
  90.  
  91.             if (keyCode == e.VK_DOWN) {
  92.                 setYDirection(+moveSpeed);
  93.             }
  94.             e.consume();
  95.  
  96.         }
  97.  
  98.         public void keyReleased(KeyEvent e) {
  99.             int keyCode = e.getKeyCode();
  100.             if (keyCode == e.VK_LEFT) {
  101.                 setXDirection(0);
  102.             }
  103.  
  104.             if (keyCode == e.VK_RIGHT) {
  105.                 setXDirection(0);
  106.             }
  107.  
  108.             if (keyCode == e.VK_UP) {
  109.                 setYDirection(0);
  110.             }
  111.  
  112.             if (keyCode == e.VK_DOWN) {
  113.                 setYDirection(0);
  114.             }
  115.             e.consume();
  116.  
  117.         }
  118.     }
  119.  
  120.     public Display() {
  121.         // Load images
  122.  
  123.         ImageIcon backIcon = new ImageIcon("C:/Users/Ryan/Desktop/Workspace/TheBox/res/Background.gif");
  124.         backImage = backIcon.getImage();
  125.         ImageIcon charIcon = new ImageIcon("C:/Users/Ryan/Desktop/Workspace/TheBox/res/Character.gif");
  126.         charImage = charIcon.getImage();
  127.  
  128.         // Game properties
  129.         addKeyListener(new AL());
  130.         addMouseListener(new Mouse());
  131.  
  132.         setTitle(TITLE);
  133.         setSize(WIDTH, HEIGHT);
  134.         setResizable(false);
  135.         setVisible(true);
  136.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  137.         setLocationRelativeTo(null);
  138.  
  139.         xChar = 125;
  140.         yChar = 125;
  141.  
  142.         xMouse = xChar + 16;
  143.         yMouse = yChar + 16;
  144.  
  145.         xLaser = xChar + 16;
  146.         yLaser = yChar + 16;
  147.     }
  148.  
  149.     public void FindCharacter() {
  150.         if (xZombie < xChar) {
  151.             xZombie++;
  152.         }
  153.         if (xZombie > xChar) {
  154.             xZombie--;
  155.         }
  156.         if (yZombie < yChar) {
  157.             yZombie++;
  158.         }
  159.         if (yZombie > yChar) {
  160.             yZombie--;
  161.         }
  162.     }
  163.  
  164.     public class ZombieClass {
  165.  
  166.         public void CreateZombie() {
  167.             ImageIcon zombieIcon = new ImageIcon("C:/Users/Ryan/Desktop/Workspace/TheBox/res/Zombie.gif");
  168.             zombieImage = zombieIcon.getImage();
  169.         }
  170.  
  171.         public void SpawnZombies() {
  172.         for (int i = 0; i <= 5; i++) {
  173.             CreateZombie();
  174.             Zombies[i];
  175.         }
  176.     }
  177.     }
  178.  
  179.     public class Mouse extends MouseAdapter {
  180.         @Override
  181.         public void mousePressed(MouseEvent e) {
  182.             int xCoordinate = e.getX();
  183.             int yCoordinate = e.getY();
  184.             xMouse = xCoordinate;
  185.             yMouse = yCoordinate;
  186.  
  187.             xLaser = xMouse;
  188.             yLaser = yMouse;
  189.         }
  190.  
  191.         @Override
  192.         public void mouseReleased(MouseEvent e) {
  193.             int xCoordinate = e.getX();
  194.             int yCoordinate = e.getY();
  195.             xLaser = xChar + 16;
  196.             yLaser = yChar + 16;
  197.  
  198.         }
  199.  
  200.         @Override
  201.         public void mouseEntered(MouseEvent e) {
  202.             MouseOnScreen = true;
  203.         }
  204.  
  205.         @Override
  206.         public void mouseExited(MouseEvent e) {
  207.             MouseOnScreen = false;
  208.         }
  209.     }
  210.  
  211.     public void paint(Graphics g) {
  212.         dbImage = createImage(getWidth(), getHeight());
  213.         dbg = dbImage.getGraphics();
  214.         paintComponent(dbg);
  215.         g.drawImage(dbImage, 0, 0, this);
  216.  
  217.     }
  218.  
  219.     public void paintComponent(Graphics g) {
  220.         g.drawImage(backImage, 0, 0, this);
  221.         g.drawImage(charImage, xChar, yChar, this);
  222.         g.drawImage(zombieImage, xZombie, yZombie, this);
  223.  
  224.         g.setColor(Color.YELLOW);
  225.         g.drawLine(xChar + 16, yChar + 16, xLaser, yLaser);
  226.  
  227.         repaint();
  228.     }
  229.  
  230.     public static void main(String[] args) {
  231.         Display dis = new Display();
  232.         // Threads
  233.         Thread t1 = new Thread(dis);
  234.         t1.start();
  235.     }
  236. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement