Kajetan Johannes Hammerle 4 роки тому
батько
коміт
3f3978c8be

+ 1 - 1
src/pathgame/PathGame.java

@@ -35,7 +35,7 @@ public class PathGame implements IGame
         if(Keys.TEST_KEY.getTime() == 1)
         {
             //level.nextLevel();
-            level.getPlayer().win();
+            level.getPlayer().win(level.getMap());
         }
     }
 

+ 3 - 0
src/pathgame/gameplay/Level.java

@@ -1,6 +1,7 @@
 package pathgame.gameplay;
 
 import pathgame.algorithm.TravellingSalesAlg;
+import pathgame.logging.Logger;
 import pathgame.tilemap.TileMap;
 import pathgame.tilemap.TileMapGenerator;
 
@@ -54,6 +55,8 @@ public final class Level
         TravellingSalesAlg.calcSalesPathLen(map);
         
         player.setEnergySupply(1000); // ToDo: insert value of algorithm
+        
+        Logger.onLevelReset(level, player, map);
     }
 
     public TileMap getMap()

+ 8 - 1
src/pathgame/gameplay/Player.java

@@ -2,6 +2,7 @@ package pathgame.gameplay;
 
 import java.util.Iterator;
 import java.util.LinkedList;
+import pathgame.logging.Logger;
 import pathgame.tilemap.Tile;
 import pathgame.tilemap.TileMap;
 
@@ -86,6 +87,7 @@ public class Player
             velY = 0.0f;
             if(isMoving)
             {
+                Logger.onTileEnter(this, map, currentTileX, currentTileY);
                 currentTile.onEnter(this, map, currentTileX, currentTileY);
                 steps.addLast(new MinusStepsValues(currSpeedSlowdown));
                 energyUsed += currSpeedSlowdown;
@@ -98,24 +100,28 @@ public class Player
         {
             velX = -SPEED;
             isMoving = true;
+            Logger.onTileLeave(this, map, currentTileX, currentTileY);
             currentTile.onLeave(this, map, currentTileX, currentTileY);
         }
         else if(Keys.RIGHT_KEY.isDown() && !isMoving && currentTileX < map.getWidth() - 1 && !map.getTile(currentTileX + 1, currentTileY).isBlockingMovement(this))
         {
             velX = SPEED;
             isMoving = true;
+            Logger.onTileLeave(this, map, currentTileX, currentTileY);
             currentTile.onLeave(this, map, currentTileX, currentTileY);
         }
         else if(Keys.UP_KEY.isDown() && !isMoving && currentTileY > 0 && !map.getTile(currentTileX, currentTileY - 1).isBlockingMovement(this))
         {
             velY = -SPEED;
             isMoving = true;
+            Logger.onTileLeave(this, map, currentTileX, currentTileY);
             currentTile.onLeave(this, map, currentTileX, currentTileY);
         }
         else if(Keys.DOWN_KEY.isDown() && !isMoving && currentTileY < map.getHeight() - 1 && !map.getTile(currentTileX, currentTileY + 1).isBlockingMovement(this))
         {
             velY = SPEED;
             isMoving = true;
+            Logger.onTileLeave(this, map, currentTileX, currentTileY);
             currentTile.onLeave(this, map, currentTileX, currentTileY);
         }
 
@@ -241,9 +247,10 @@ public class Player
         return hasWon;
     }
 
-    public void win()
+    public void win(TileMap map)
     {
         this.hasWon = true;
+        Logger.onWin(this, map);
     }
 
     public boolean hasLost()

+ 27 - 0
src/pathgame/logging/Logger.java

@@ -0,0 +1,27 @@
+package pathgame.logging;
+
+import pathgame.gameplay.Player;
+import pathgame.tilemap.TileMap;
+
+public class Logger
+{
+    public static void onLevelReset(int level, Player p, TileMap map)
+    {
+        System.out.println("Level Reset " + level);
+    }
+    
+    public static void onTileEnter(Player p, TileMap map, int x, int y)
+    {
+        System.out.println("Tile Enter " + x + " " + y);
+    }
+    
+    public static void onTileLeave(Player p, TileMap map, int x, int y)
+    {
+        System.out.println("Tile Leave " + x + " " + y);
+    }
+    
+    public static void onWin(Player p, TileMap map)
+    {
+        System.out.println("Win");
+    }
+}

+ 1 - 1
src/pathgame/tilemap/TileHomeTown.java

@@ -14,7 +14,7 @@ public class TileHomeTown extends Tile
     {
         if(p.canWin())
         {
-            p.win();
+            p.win(map);
         }
     }
 }