Advertisement
Guest User

Untitled

a guest
May 6th, 2015
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.47 KB | None | 0 0
  1. package Pacman;
  2.  
  3. import org.newdawn.slick.*;
  4. import org.newdawn.slick.geom.Rectangle;
  5. import org.newdawn.slick.geom.Shape;
  6. import org.newdawn.slick.state.*;
  7. import org.newdawn.slick.util.pathfinding.AStarPathFinder;
  8. import org.newdawn.slick.util.pathfinding.Path;
  9.  
  10. public class Play extends BasicGameState {
  11.    
  12.     Player player = new Player(2*32,1*32,3,"Player1");
  13.     Enemy ghost1 = new Enemy(448,384);
  14.     Enemy ghost2 = new Enemy(480,384);
  15.     Enemy ghost3 = new Enemy(512,384);
  16.     Enemy ghost4 = new Enemy(544,384);
  17.     Level collisionLevel = new Level();
  18.     Level coinLevel = new Level();
  19.     Level powerLevel = new Level();
  20.     private boolean boolUp, boolDown, boolLeft, boolRight;
  21.     Image coin;
  22.     Image powerUp;
  23.    
  24.    
  25.     private static final int MAX_PATH_LENGTH = 100;
  26.     Path path;
  27.     AStarPathFinder pathFinder;
  28.     SimpleMap map;
  29.     int mover;
  30.     Shape[] test = new Rectangle[MAX_PATH_LENGTH];
  31.    
  32.    
  33.    
  34.     /**
  35.      *
  36.      * @param state the integer: The state
  37.      */
  38.     public Play(int state){
  39.     }
  40.    
  41.     /**
  42.      *
  43.      */
  44.     @Override
  45.     public void init(GameContainer gc, StateBasedGame sbg)throws SlickException{
  46.         coin = new Image("data/map/coin.png");
  47.         powerUp = new Image("data/map/Powerup.png");
  48.         collisionLevel.SetMap("data/map/map.tmx");
  49.         collisionLevel.SetHitBox("collider");
  50.         coinLevel.SetMap("data/map/map.tmx");
  51.         coinLevel.SetHitBox("coinPath");
  52.         powerLevel.SetMap("data/map/map.tmx");
  53.         powerLevel.SetHitBox("powerup");
  54.         player.SetAniUp("data/pacman/PacmanUp1.png","data/pacman/PacmanUp2.png","data/pacman/PacmanBallUpDown.png");
  55.         player.SetAniDown("data/pacman/PacmanDown1.png", "data/pacman/PacmanDown2.png", "data/pacman/PacmanBallUpDown.png");
  56.         player.SetAniLeft("data/pacman/PacmanLeft1.png","data/pacman/PacmanLeft2.png","data/pacman/PacmanBallLeftRight.png");
  57.         player.SetAniRight("data/pacman/PacmanRight1.png", "data/pacman/PacmanRight2.png", "data/pacman/PacmanBallLeftRight.png");
  58.         player.SetSprite(player.GetAniUp());
  59.         boolRight = true;
  60.        
  61.         ghost1.SetAniUp("data/ghost/red/GhostUp1.png","data/ghost/red/GhostUp2.png","data/ghost/red/GhostUp1.png");
  62.         ghost1.SetAniDown("data/ghost/red/GhostDown1.png","data/ghost/red/GhostDown2.png","data/ghost/red/GhostDown1.png");
  63.         ghost1.SetAniLeft("data/ghost/red/GhostLeft1.png","data/ghost/red/GhostLeft2.png","data/ghost/red/GhostLeft1.png");
  64.         ghost1.SetAniRight("data/ghost/red/GhostRight1.png","data/ghost/red/GhostRight2.png","data/ghost/red/GhostRight1.png");
  65.         ghost1.SetSprite(ghost1.GetAniUp());
  66.         ghost1.SetPath(collisionLevel);
  67.        
  68.         ghost2.SetAniUp("data/ghost/cyan/GhostUp1.png","data/ghost/cyan/GhostUp2.png","data/ghost/cyan/GhostUp1.png");
  69.         ghost2.SetAniDown("data/ghost/cyan/GhostDown1.png","data/ghost/cyan/GhostDown2.png","data/ghost/cyan/GhostDown1.png");
  70.         ghost2.SetAniLeft("data/ghost/cyan/GhostLeft1.png","data/ghost/cyan/GhostLeft2.png","data/ghost/cyan/GhostLeft1.png");
  71.         ghost2.SetAniRight("data/ghost/cyan/GhostRight1.png","data/ghost/cyan/GhostRight2.png","data/ghost/cyan/GhostRight1.png");
  72.         ghost2.SetSprite(ghost2.GetAniUp());
  73.         ghost2.SetPath(collisionLevel);
  74.        
  75.         ghost3.SetAniUp("data/ghost/orange/GhostUp1.png","data/ghost/orange/GhostUp2.png","data/ghost/orange/GhostUp1.png");
  76.         ghost3.SetAniDown("data/ghost/orange/GhostDown1.png","data/ghost/orange/GhostDown2.png","data/ghost/orange/GhostDown1.png");
  77.         ghost3.SetAniLeft("data/ghost/orange/GhostLeft1.png","data/ghost/orange/GhostLeft2.png","data/ghost/orange/GhostLeft1.png");
  78.         ghost3.SetAniRight("data/ghost/orange/GhostRight1.png","data/ghost/orange/GhostRight2.png","data/ghost/orange/GhostRight1.png");
  79.         ghost3.SetSprite(ghost3.GetAniUp());
  80.         ghost3.SetPath(collisionLevel);
  81.        
  82.         ghost4.SetAniUp("data/ghost/pink/GhostUp1.png","data/ghost/pink/GhostUp2.png","data/ghost/pink/GhostUp1.png");
  83.         ghost4.SetAniDown("data/ghost/pink/GhostDown1.png","data/ghost/pink/GhostDown2.png","data/ghost/pink/GhostDown1.png");
  84.         ghost4.SetAniLeft("data/ghost/pink/GhostLeft1.png","data/ghost/pink/GhostLeft2.png","data/ghost/pink/GhostLeft1.png");
  85.         ghost4.SetAniRight("data/ghost/pink/GhostRight1.png","data/ghost/pink/GhostRight2.png","data/ghost/pink/GhostRight1.png");
  86.         ghost4.SetSprite(ghost4.GetAniUp());
  87.         ghost4.SetPath(collisionLevel);
  88.     }  
  89.    
  90.     /**
  91.      *
  92.      */
  93.     @Override
  94.     public void render(GameContainer gc, StateBasedGame sbg, Graphics g)throws SlickException{
  95.         collisionLevel.GetMap().render(0,0);
  96.         for(int x = 0; x<coinLevel.GetWidth();x++){
  97.             for(int y = 0; y<coinLevel.GetHeight();y++){
  98.                 if(coinLevel.GetBlocked()[x][y]){
  99.                         coin.draw(x*32,y*32);
  100.                        
  101.                     }
  102.                 }
  103.             }
  104.        
  105.         for(int x = 0; x<powerLevel.GetWidth();x++){
  106.             for(int y = 0; y<powerLevel.GetHeight();y++){
  107.                 if(powerLevel.GetBlocked()[x][y]){
  108.                         powerUp.draw(x*32,y*32);
  109.                        
  110.                     }
  111.                 }
  112.             }
  113.         ghost1.GetSprite().draw(ghost1.GetPosX(),ghost1.GetPosY());
  114.         ghost2.GetSprite().draw(ghost2.GetPosX(),ghost2.GetPosY());
  115.         ghost3.GetSprite().draw(ghost3.GetPosX(),ghost3.GetPosY());
  116.         ghost4.GetSprite().draw(ghost4.GetPosX(),ghost4.GetPosY());
  117.         player.GetSprite().draw(player.GetPosX(),player.GetPosY());
  118.        
  119.         for(int i = 0; i < ghost1.getPathLenght(); i++) {
  120.             g.setColor(Color.red);
  121.             g.draw(ghost1.getPathHitbox()[i]);
  122.         }
  123.        
  124.         for(int i = 0; i<ghost2.getPathLenght();i++){
  125.             g.setColor(Color.cyan);
  126.             g.draw(ghost2.getPathHitbox()[i]);
  127.         }
  128.         for(int i = 0; i<ghost3.getPathLenght();i++){
  129.             g.setColor(Color.orange);
  130.             g.draw(ghost3.getPathHitbox()[i]);
  131.         }
  132.         for(int i = 0; i<ghost4.getPathLenght();i++){
  133.             g.setColor(Color.pink);
  134.             g.draw(ghost4.getPathHitbox()[i]);
  135.         }
  136.        
  137.        
  138.     }
  139.    
  140.    
  141.     /**
  142.      *
  143.      */
  144.     @Override
  145.     public void update(GameContainer gc, StateBasedGame sbg, int delta)throws SlickException{
  146.         ghost1.movePath(collisionLevel);
  147.         ghost1.Move(delta, gc.getHeight(), gc.getWidth());
  148.         ghost2.movePath(collisionLevel);
  149.         ghost2.Move(delta, gc.getHeight(), gc.getWidth());
  150.         ghost3.movePath(collisionLevel);
  151.         ghost3.Move(delta, gc.getHeight(), gc.getWidth());
  152.         ghost4.movePath(collisionLevel);
  153.         ghost4.Move(delta, gc.getHeight(), gc.getWidth());
  154.         player.GetSprite().update(delta);
  155.         player.Move(delta,gc.getHeight(),gc.getWidth());
  156.        
  157.         Input input = gc.getInput();
  158.         if(input.isKeyPressed(Input.KEY_UP)){
  159.             boolUp = true;
  160.             boolDown = false;
  161.             boolLeft = false;
  162.             boolRight = false;
  163.         }else if(input.isKeyPressed(Input.KEY_DOWN)){
  164.             boolUp = false;
  165.             boolDown = true;
  166.             boolLeft = false;
  167.             boolRight = false;
  168.         }else if(input.isKeyPressed(Input.KEY_LEFT)){
  169.             boolUp = false;
  170.             boolDown = false;
  171.             boolLeft = true;
  172.             boolRight = false;
  173.         }else if(input.isKeyPressed(Input.KEY_RIGHT)){
  174.             boolUp = false;
  175.             boolDown = false;
  176.             boolLeft = false;
  177.             boolRight = true;
  178.         }
  179.        
  180.  
  181.         if(boolUp){
  182.             player.SetSprite(player.GetAniUp());
  183.             player.MoveUp();
  184.             if(collisionLevel.collision(player)){
  185.                 boolUp = false;
  186.                 player.StopUpDown();
  187.             }
  188.         }else if(boolDown){
  189.             player.SetSprite(player.GetAniDown());
  190.             player.MoveDown();
  191.             if(collisionLevel.collision(player)){
  192.                 boolDown = false;
  193.                 player.StopUpDown();
  194.             }
  195.         }else if(boolLeft){
  196.             player.SetSprite(player.GetAniLeft());
  197.             player.MoveLeft();
  198.             if(collisionLevel.collision(player)){
  199.                 boolLeft = false;
  200.                 player.StopLeftRight();
  201.             }          
  202.         }else if(boolRight){
  203.             player.SetSprite(player.GetAniRight());
  204.             player.MoveRight();
  205.             if(collisionLevel.collision(player)){
  206.                 boolRight = false;
  207.                 player.StopLeftRight();
  208.             }
  209.            
  210.         }
  211.     }
  212.    
  213.     /**
  214.      *
  215.      */
  216.     @Override
  217.     public int getID(){
  218.         return 1;
  219.     }
  220. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement