Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2010
396
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.17 KB | None | 0 0
  1. package Game;
  2.  
  3.  
  4. import java.awt.*;
  5. import java.awt.event.*;
  6. import java.util.ArrayList;
  7. import java.util.Random;
  8.  
  9. import javax.swing.*;
  10.  
  11.  
  12.  
  13. public class Board extends JPanel implements ActionListener{
  14. Image bg;
  15. public Hero h;
  16. int time;
  17. Timer timer;
  18.  
  19. ArrayList tiles;
  20. Frame f = new Frame();
  21. Tile t = new Tile(0, 0);
  22.  
  23. int tilePos[][]=
  24. {{0,480},{40,480},{40*2,480},{40*4,480}};
  25.  
  26.  
  27.     public Board(){
  28.         tiles = new ArrayList();
  29.         addKeyListener(new AL());
  30.         setFocusable(true);
  31.         ImageIcon back = new ImageIcon("src//Game//Background.png");
  32.         bg = back.getImage();
  33.        
  34.         h = new Hero();
  35.        
  36.         time=0;
  37.        
  38.         initTiles();
  39.  
  40.         timer = new Timer(2, this);
  41.         timer.start();
  42.     }
  43.    
  44.     public void actionPerformed(ActionEvent e){
  45.         h.move();
  46.         h.actionPerformed();
  47.         checkFloorCollision();
  48.         repaint();
  49.     }
  50.    
  51.     public void checkFloorCollision(){
  52.         for(int j = 0; j<tiles.size(); j++){
  53.             Tile t = (Tile) tiles.get(j);
  54.             Rectangle tilebounds = t.getBounds();
  55.            
  56.             Rectangle heroBounds = h.getNextBounds();
  57.            
  58.             if(heroBounds.intersects(tilebounds) && h.getUp() == false){
  59.                 h.setVY(0); // on the floor
  60.                 h.setDown(false);
  61.             }
  62.             else if(heroBounds.intersects(tilebounds) == false  && h.getUp() == false){
  63.                 h.setVY(4); // person falling
  64.                 h.setDown(true);
  65.             }
  66.         }
  67.     }
  68.    
  69.     public void paint(Graphics g){
  70.         super.paint(g);
  71.         Graphics2D g2d = (Graphics2D) g;
  72.         g2d.drawImage(bg,0,0,null);
  73.         g2d.drawImage(h.getImage(),h.getX(),h.getY(),null);
  74.         time++;
  75.         String timeString = Integer.toString(time);
  76.         g2d.drawString(timeString,100,100);
  77.        
  78.         //Draw Tiles
  79.         for (int i = 0; i < tiles.size(); i++) {
  80.             Tile a = (Tile)tiles.get(i);
  81.                 g2d.drawImage(a.getImage(), a.getX(), a.getY(), this);
  82.         }
  83.     }
  84.    
  85.     public void initTiles() {
  86.  
  87.         for (int i=0; i<tilePos.length; i++ ) {
  88.             tiles.add(new Tile(tilePos[i][0], tilePos[i][1]));
  89.         }
  90.     }
  91.    
  92.     public void addTile(int x,int y){
  93.         tiles.add(new Tile(x,y));
  94.     }
  95.  
  96.     private class AL extends KeyAdapter{
  97.         public void keyPressed(KeyEvent e){
  98.             h.keyPressed(e);
  99.         }
  100.         public void keyReleased(KeyEvent e){
  101.             h.keyReleased(e);
  102.         }
  103.     }
  104.    
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement