Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Mar 2nd, 2010  |  syntax: Java  |  size: 2.17 KB  |  views: 337  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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. }
clone this paste RAW Paste Data