Advertisement
Guest User

Untitled

a guest
Apr 4th, 2020
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.18 KB | None | 0 0
  1. package ardarsen.isookoban;
  2.  
  3. import ardarsen.isookoban.tiles.*;
  4. //deze 3 classes moet je geimporteerd hebben om het te laten werken.
  5. import nl.han.ica.oopg.engine.GameEngine;
  6. import nl.han.ica.oopg.objects.Sprite;
  7. import nl.han.ica.oopg.tile.TileMap;
  8. import nl.han.ica.oopg.tile.TileType;
  9. //import nl.han.ica.oopg.objects.TextObject;
  10. import nl.han.ica.oopg.view.View;
  11. import processing.core.PVector;
  12.  
  13. public class IsOokOban extends GameEngine {
  14.  
  15.     public static String ASSETS_URL = "src/main/java/ardarsen/isookoban/assets/";
  16.     public static int TILE_SIZE = 32;
  17.     //private TileType[] tileTypes = new TileType[6];
  18.     protected Level level;
  19.    
  20.     public static void main(String[] args) {
  21.         IsOokOban soko = new IsOokOban();
  22.         soko.runSketch();
  23.     }
  24.  
  25.     @Override
  26.     public void setupGame() {
  27.         int worldWidth = 500;
  28.         int worldHeight = 500;
  29.        
  30.         //TextObject to = new TextObject("Hello, World!", 40);
  31.         //to.setForeColor(255, 255, 255, 255);
  32.         //addGameObject(to, 100, 100);
  33.        
  34.         //-1 = no tile, 0 = floor, 1 = wall, 2 = pressure plate floor, 3 = hole, 4 = ice, 5 = filled hole
  35.         int tilesMap[][] = {
  36.             { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
  37.             { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
  38.             { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
  39.             { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
  40.             { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
  41.             { 1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1},
  42.             { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
  43.             { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
  44.             { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
  45.             { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1},
  46.             { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
  47.         }; 
  48.        
  49.         initializeTileMap(tilesMap);
  50.        
  51.        
  52.         Position[] boxLocations = {
  53.                 new Position(2, 2),
  54.                 new Position(3, 2)
  55.         };
  56.        
  57.         Position playerStartPosition = new Position(1, 2);
  58.        
  59.         this.level = new Level(this, playerStartPosition, boxLocations);
  60.        
  61.         View view = new View(worldWidth, worldHeight);
  62.        
  63.         setView(view);
  64.         size(worldWidth, worldHeight);
  65.     }
  66.    
  67.     private void initializeTileMap(int tilesMap[][]) {
  68.         Sprite floorSprite = new Sprite(IsOokOban.ASSETS_URL.concat("groundTile.png"));
  69.         Sprite wallSprite = new Sprite(IsOokOban.ASSETS_URL.concat("wallTile.png"));
  70.         Sprite pressurePlateSprite = new Sprite(IsOokOban.ASSETS_URL.concat("pressurePlate.png"));
  71.         Sprite holeSprite = new Sprite(IsOokOban.ASSETS_URL.concat("hole.png"));
  72.         Sprite iceSprite = new Sprite(IsOokOban.ASSETS_URL.concat("iceTile.png"));
  73.         Sprite filledHoleSprite = new Sprite(IsOokOban.ASSETS_URL.concat("groundTile.png"));
  74.        
  75.         TileType<FloorTile> floorTileType = new TileType<>(FloorTile.class, floorSprite);
  76.         TileType<WallTile> wallTileType = new TileType<>(WallTile.class, wallSprite);
  77.         TileType<PressurePlateTile> pressurePlateTileType = new TileType<>(PressurePlateTile.class, pressurePlateSprite);
  78.         TileType<HoleTile> holeTileType = new TileType<>(HoleTile.class, holeSprite);
  79.         TileType<IceTile> iceTileType = new TileType<>(IceTile.class, iceSprite);
  80.         TileType<FilledHoleTile> filledHoleTileType = new TileType<>(FilledHoleTile.class, filledHoleSprite);
  81.        
  82.         TileType[] tileTypes = new TileType[6];
  83.        
  84.         tileTypes[0] = floorTileType;
  85.         tileTypes[1] = wallTileType;
  86.         tileTypes[2] = pressurePlateTileType;
  87.         tileTypes[3] = holeTileType;
  88.         tileTypes[4] = iceTileType;
  89.         tileTypes[5] = filledHoleTileType;
  90.        
  91.         this.setTileMap(new TileMap(IsOokOban.TILE_SIZE, tileTypes, tilesMap));
  92.     }
  93.    
  94.     /*
  95.     public TileType[] getTileTypes() {
  96.         return this.tileTypes;
  97.     }
  98.     */
  99.    
  100.     /*
  101.     public int tileTypeIndex(TileType tileTypeToCheck) {
  102.         for (int i = 0; i < tileTypes.length; ++i) {
  103.             if (tileTypes[i].getClass() == tileTypeToCheck.getClass()) return i;
  104.         }
  105.         return -1;
  106.     }
  107.     */
  108.    
  109.     @Override
  110.     public void update() {
  111.         if (this.level.levelComplete()) {
  112.             System.out.println("level complete");
  113.         }
  114.     }
  115.  
  116. }
  117.  
  118. // CLASS 2 {tile}
  119.  
  120. package ardarsen.isookoban.tiles;
  121.  
  122. import ardarsen.isookoban.IsOokOban;
  123. import nl.han.ica.oopg.objects.Sprite;
  124. import nl.han.ica.oopg.tile.Tile;
  125.  
  126. public class FloorTile extends Tile implements ITile {
  127.  
  128.     public FloorTile(Sprite sprite) {
  129.         super(sprite);
  130.     }
  131.    
  132.     @Override
  133.     public boolean canBeWalkedOn() {
  134.         return true;
  135.     }
  136.  
  137.     @Override
  138.     public boolean canSupportBox() {
  139.         // TODO Auto-generated method stub
  140.         return true;
  141.     }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement