Advertisement
Guest User

run game

a guest
Nov 17th, 2015
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.15 KB | None | 0 0
  1. package Core;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics2D;
  5. import java.awt.Rectangle;
  6. import java.awt.event.KeyEvent;
  7. import java.util.HashSet;
  8. import java.util.Set;
  9.  
  10. import Base.Game;
  11. import Base.Input;
  12. import Base.Timer;
  13. import Base.custom.IntArr;
  14. import Base.custom.PairMap;
  15.  
  16.  
  17. public class RunGame {
  18.  
  19.     Camera cam = new Camera();
  20.    
  21.     World world;
  22.     public RunGame(){
  23.         world = new World();
  24.        
  25.     }
  26.    
  27.     Timer t = new Timer(500);
  28.     int x = 0;
  29.     int y = 0;
  30.     boolean keydown = false;
  31.     public void update(){
  32.         cam.update();          
  33.            
  34.             if(!keydown && Input.getInput().isKeyDown(KeyEvent.VK_G)){
  35.                 keydown = true;
  36.                 x+=1;
  37.                 y = 0;
  38.                 Set<IntArr> pos = new HashSet<>();
  39.                 for(int o = 0; o < 3; o++){
  40.                     for(int i =0; i < 3; i++){
  41.                         pos.add(new IntArr(x+i,y+o));
  42.                     }
  43.                 }
  44.                
  45.                 world.append(pos);
  46.             }
  47.             if(keydown && !Input.getInput().isKeyDown(KeyEvent.VK_G)){
  48.                 keydown = false;
  49.             }
  50.     }
  51.  
  52.     public void render(Graphics2D g){
  53.         g.setColor(Color.BLUE);
  54.         int scale = 4;
  55.         Rectangle gamescreen = new Rectangle(0,0,Game.size.width*scale,Game.size.height*scale);
  56.             for(Rectangle room: world.roomObjects.getKeys()){                  
  57.                 if(gamescreen.intersects((room.x*scale)+cam.xOff,(room.y*scale)+cam.yOff,room.width*scale,room.height*scale)){
  58.                     int[][] roomObjs = world.roomObjects.get(room);
  59.                     for(int o = 0; o < roomObjs.length; o++){
  60.                         for(int i = 0; i < roomObjs[o].length; i++){
  61.                             int nX = room.x+(i*world.div);
  62.                             int nY = room.y+(o*world.div);
  63.                             int nW = world.div;
  64.                             int nH = world.div;
  65.                             if(gamescreen.intersects(nX*scale+cam.xOff,nY*scale+cam.yOff,nW*scale,nH*scale)){
  66.                                 g.setColor(Color.darkGray.darker());
  67.                                 g.fillRect(nX*scale+cam.xOff,nY*scale+cam.yOff,nW*scale,nH*scale);
  68.                                 switch(roomObjs[o][i]){
  69.                                 case 1:
  70.                                     g.setColor(Color.red.darker());
  71.                                     break;
  72.                                 case 2:
  73.                                     g.setColor(Color.green);
  74.                                     break;
  75.                                 default:
  76.                                     g.setColor(Color.BLUE);
  77.                                     break;
  78.                                 }
  79.                                 g.fillRect(nX*scale+cam.xOff+2,nY*scale+cam.yOff+2,nW*scale-4,nH*scale-4);
  80.                             }
  81.                         }
  82.                     }
  83.  
  84.             }
  85.  
  86.         }
  87.     }
  88.    
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement