Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.awt.image.BufferedImage;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import javax.imageio.ImageIO;
- public class Level {
- public int width;
- public int height;
- public Tile[][] tiles;
- public List<Enemy> enemys;
- public List<Key> key;
- /*public List<Door> door;*/
- public Door[][] door;
- public Level(String path) {
- enemys = new ArrayList<>();
- key = new ArrayList<>();
- /*door = new ArrayList<>();*/
- try {
- BufferedImage map = ImageIO.read(getClass().getResource(path));
- this.width = map.getWidth();
- this.height = map.getHeight();
- int[] pixels = new int[width*height];
- tiles = new Tile[width][height];
- door = new Door[width][height];
- map.getRGB(0, 0, width, height, pixels, 0, width);
- for(int xx = 0; xx < width; xx++) {
- for(int yy = 0; yy < height; yy++) {
- int val = pixels[xx + (yy*width)];
- if(val == 0xFF7F3300) {
- //Tile
- tiles[xx][yy] = new Tile(xx*32, yy*32);
- }else if (val == 0xFF0026FF) {
- //Player
- Game.avatar.x = xx*32;
- Game.avatar.x = yy*32;
- }else if(val == 0xFFFF0000) {
- enemys.add(new Enemy(xx*32, yy*32));
- }
- else if(val == 0xFF000000) {
- key.add(new Key(xx*32, yy*32));
- }
- /*else if(val == 0xFF267F00) {
- door.add(new Door(xx*32, yy*32));*/
- else if(val == 0xFF267F00) {
- door[xx][yy] = new Door(xx*32, yy*32);
- }
- else {}
- }
- }
- }
- catch (IOException e) {
- e.printStackTrace();
- }
- }
- public void tick() {
- for(int i = 0; i<enemys.size(); i++) {
- enemys.get(i).tick(); }
- for(int a = 0; a<key.size(); a++) {
- key.get(a).tick();
- }
- /*
- for(int z = 0; z<door.size(); z++) {
- door.get(z).tick();*/
- }
- public void render (Graphics g) {
- for(int x = 0; x < width; x++) {
- for(int y = 0; y < height; y++) {
- if(tiles[x][y] !=null) { tiles[x][y].render(g);}
- }
- }
- for(int i = 0; i<enemys.size(); i++) {
- enemys.get(i).render(g); }
- for(int a = 0; a<key.size(); a++) {
- key.get(a).render(g); }
- /*for(int z = 0; z<door.size(); z++) {
- door.get(z).render(g); */
- for(int x = 0; x < width; x++) {
- for(int y = 0; y < height; y++) {
- if(door[x][y] !=null) { door[x][y].render(g);}
- }
- }
- }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement