Advertisement
kragbrun

Untitled

Apr 16th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  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. }}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement