daily pastebin goal
37%
SHARE
TWEET

Untitled

kragbrun Apr 16th, 2018 48 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.awt.Graphics;
  2. import java.awt.Rectangle;
  3. import java.awt.image.BufferedImage;
  4. import java.io.IOException;
  5. import java.util.ArrayList;
  6. import java.util.Arrays;
  7. import java.util.List;
  8.  
  9. import javax.imageio.ImageIO;
  10.  
  11. public class Level {
  12.  
  13.     public int width;
  14.     public int height;
  15.    
  16.     public Tile[][] tiles;
  17.     public List<Enemy> enemys;
  18.     public List<Key> key;
  19.     /*public List<Door> door;*/
  20.     public Door[][] door;
  21.    
  22.    
  23.    
  24.    
  25.     public Level(String path) {
  26.         enemys = new ArrayList<>();
  27.         key = new ArrayList<>();
  28.         /*door = new ArrayList<>();*/
  29.         try {
  30.         BufferedImage map = ImageIO.read(getClass().getResource(path));
  31.         this.width = map.getWidth();
  32.         this.height = map.getHeight();
  33.         int[] pixels = new int[width*height];
  34.         tiles = new Tile[width][height];
  35.         door = new Door[width][height];
  36.        
  37.        
  38.         map.getRGB(0, 0, width, height, pixels, 0, width);
  39.        
  40.        
  41.        
  42.         for(int xx = 0; xx < width; xx++) {
  43.             for(int yy = 0; yy < height; yy++) {
  44.                 int val = pixels[xx + (yy*width)];
  45.                
  46.                 if(val == 0xFF7F3300) {
  47.                     //Tile
  48.                     tiles[xx][yy] = new Tile(xx*32, yy*32);
  49.                 }else if (val == 0xFF0026FF) {
  50.                     //Player
  51.                     Game.avatar.x = xx*32;
  52.                     Game.avatar.x = yy*32;
  53.                 }else if(val == 0xFFFF0000) {
  54.                     enemys.add(new Enemy(xx*32, yy*32));
  55.                
  56.             }
  57.                 else if(val == 0xFF000000) {
  58.                     key.add(new Key(xx*32, yy*32));
  59.                    
  60.                 }
  61.                 /*else if(val == 0xFF267F00) {
  62.                     door.add(new Door(xx*32, yy*32));*/
  63.                 else if(val == 0xFF267F00) {
  64.                     door[xx][yy] = new Door(xx*32, yy*32);
  65.                    
  66.                 }
  67.                 else {}
  68.                 }
  69.             }
  70.        
  71.         }
  72.        
  73.          catch (IOException e) {
  74.             e.printStackTrace();
  75.         }
  76.     }
  77.     public void tick() {
  78.         for(int i = 0; i<enemys.size(); i++) {
  79.             enemys.get(i).tick();   }
  80.         for(int a = 0; a<key.size(); a++) {
  81.             key.get(a).tick();
  82.         }
  83.         /*
  84.         for(int z = 0; z<door.size(); z++) {
  85.             door.get(z).tick();*/
  86.        
  87.         }
  88.    
  89.        
  90.    
  91.     public void render (Graphics g) {
  92.         for(int x = 0; x < width; x++) {
  93.             for(int y = 0; y < height; y++) {
  94.                 if(tiles[x][y] !=null) { tiles[x][y].render(g);}
  95.             }
  96.            
  97.         }
  98.     for(int i = 0; i<enemys.size(); i++) {
  99.         enemys.get(i).render(g);    }
  100.     for(int a = 0; a<key.size(); a++) {
  101.         key.get(a).render(g);   }
  102.     /*for(int z = 0; z<door.size(); z++) {
  103.         door.get(z).render(g);  */
  104.     for(int x = 0; x < width; x++) {
  105.         for(int y = 0; y < height; y++) {
  106.             if(door[x][y] !=null) { door[x][y].render(g);}
  107.    
  108. }
  109. }
  110.    
  111.     }}
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top