Browse Source

code refactoring

Hudriwudri 5 years ago
parent
commit
2ea249a0d4

+ 26 - 13
src/pathgame/PathGame.java

@@ -3,6 +3,7 @@ package pathgame;
 import me.hammerle.snuviengine.api.IGame;
 import me.hammerle.snuviengine.api.Renderer;
 import pathgame.gameplay.Gamestate;
+import pathgame.gameplay.Gamestates;
 import pathgame.gameplay.Keys;
 import pathgame.gameplay.Menu;
 import pathgame.rendering.TileMapRenderer;
@@ -16,6 +17,7 @@ import pathgame.rendering.TileRenderer;
 
 public class PathGame implements IGame
 {
+    private final Gamestate gamestate = new Gamestate();
 
     private final TileMapRenderer mapRenderer = new TileMapRenderer();
     private final TileMap map = TileMapGenerator.getMap(50, 50, 2);
@@ -39,14 +41,19 @@ public class PathGame implements IGame
     public void tick()
     {
         mapRenderer.tick();
-        if(Gamestate.gamestate.equals(Gamestate.gamestates.GAMEPLAY))
+        switch(gamestate.getState())
         {
-            player.tick(map);
-        }
-        if(Gamestate.gamestate.equals(Gamestate.gamestates.MAINMENU))
-        {
-            menu.tick();
+            case ESCMENU:
+                break;
+            case GAMEPLAY:
+                player.tick(map);
+                break;
+            case MAINMENU:
+                 menu.tick(gamestate);
+                break;
+
         }
+        
 
         lastScale = scale;
         if(Keys.ZOOM_IN_KEY.isDown())
@@ -71,15 +78,20 @@ public class PathGame implements IGame
         float offY = getMapOffsetY(r, lag, interScale);
 
         mapRenderer.renderTick(map, r, false, offX, offY);
-        if(Gamestate.gamestate.equals(Gamestate.gamestates.GAMEPLAY))
+        switch(gamestate.getState())
         {
-            playerRenderer.renderTick(map, mapRenderer, r, player, lag, offX, offY);
-            hudRenderer.renderTick(r, player, lag);
-        }
-        if(Gamestate.gamestate.equals(Gamestate.gamestates.MAINMENU))
-        {
-            menuRenderer.renderTick(r, lag, menu);
+            case ESCMENU:
+                break;
+            case GAMEPLAY:
+                playerRenderer.renderTick(map, mapRenderer, r, player, lag, offX, offY);
+                hudRenderer.renderTick(r, player, lag);
+                break;
+            case MAINMENU:
+                menuRenderer.renderTick(r, lag, menu);
+                break;
+
         }
+
     }
 
     private float getMapOffsetX(Renderer r, float lag, float interScale)
@@ -117,5 +129,6 @@ public class PathGame implements IGame
     @Override
     public void onStop()
     {
+        //System.out.println("stopped game");
     }
 }

+ 12 - 4
src/pathgame/gameplay/Gamestate.java

@@ -1,9 +1,17 @@
-
 package pathgame.gameplay;
 
-
 public class Gamestate
 {
-    public enum gamestates {GAMEPLAY, MAINMENU, ESCMENU}
-    public static gamestates gamestate = gamestates.MAINMENU;
+
+    private Gamestates state = Gamestates.MAINMENU;
+
+    public void setState(Gamestates state)
+    {
+        this.state = state;
+    }
+
+    public Gamestates getState()
+    {
+        return state;
+    }
 }

+ 6 - 0
src/pathgame/gameplay/Gamestates.java

@@ -0,0 +1,6 @@
+package pathgame.gameplay;
+
+public enum Gamestates
+{
+    GAMEPLAY, MAINMENU, ESCMENU
+}

+ 1 - 0
src/pathgame/gameplay/Keys.java

@@ -13,4 +13,5 @@ public class Keys
     public static final KeyBinding ZOOM_IN_KEY = KeyHandler.register(GLFW.GLFW_KEY_I);
     public static final KeyBinding ZOOM_OUT_KEY = KeyHandler.register(GLFW.GLFW_KEY_O);
     public static final KeyBinding CONFIRM_KEY = KeyHandler.register(GLFW.GLFW_KEY_ENTER);
+    public static final KeyBinding ESCAPE_KEY = KeyHandler.register(GLFW.GLFW_KEY_ESCAPE);
 }

+ 15 - 17
src/pathgame/gameplay/Menu.java

@@ -1,24 +1,25 @@
 package pathgame.gameplay;
 
+import me.hammerle.snuviengine.api.Engine;
 import pathgame.rendering.MenuRenderer;
 
 public class Menu
 {
 
-    public enum menuButtons
+    public enum MenuButtons
     {
         START, OPTIONS, EXIT
     }
 
-    private menuButtons activeButton = menuButtons.START;
+    private MenuButtons activeButton = MenuButtons.START;
 
-    public void tick()
+    public void tick(Gamestate gamestate)
     {
 
         if(Keys.UP_KEY.isDown() && Keys.UP_KEY.getTime() == 1 || (Keys.UP_KEY.getTime() >= 20 && Keys.UP_KEY.getTime() % 5 == 1))
         {
             activeButton = getPrevButton(activeButton);
-            System.out.println(activeButton);
+            //System.out.println(activeButton);
         }
         else if(Keys.DOWN_KEY.isDown() && Keys.DOWN_KEY.getTime() == 1 || (Keys.DOWN_KEY.getTime() >= 20 && Keys.DOWN_KEY.getTime() % 5 == 1))
         {
@@ -27,43 +28,40 @@ public class Menu
         }
         else if(Keys.CONFIRM_KEY.isDown())
         {
-            if(activeButton.equals(menuButtons.EXIT))
+            if(activeButton.equals(MenuButtons.EXIT))
             {
-
-                System.exit(0);
+                Engine.stop();
             }
-            else if(activeButton.equals(menuButtons.START))
+            else if(activeButton.equals(MenuButtons.START))
             {
-                Gamestate.gamestate = Gamestate.gamestates.GAMEPLAY;
+                gamestate.setState(Gamestates.GAMEPLAY);
             }
-
         }
-
     }
 
-    public menuButtons getActiveButton()
+    public MenuButtons getActiveButton()
     {
         return activeButton;
     }
 
-    public boolean isActiveButton(menuButtons button)
+    public boolean isActiveButton(MenuButtons button)
     {
         return activeButton.equals(button);
     }
 
-    private menuButtons getNextButton(menuButtons e)
+    private MenuButtons getNextButton(MenuButtons e)
     {
         int index = e.ordinal();
         int nextIndex = index + 1;
-        menuButtons[] btns = menuButtons.values();
+        MenuButtons[] btns = MenuButtons.values();
         nextIndex %= btns.length;
         return btns[nextIndex];
     }
 
-    private menuButtons getPrevButton(menuButtons e)
+    private MenuButtons getPrevButton(MenuButtons e)
     {
         int index = e.ordinal();
-        menuButtons[] btns = menuButtons.values();
+        MenuButtons[] btns = MenuButtons.values();
         int nextIndex = index + btns.length - 1;
         nextIndex %= btns.length;
         return btns[nextIndex];

+ 0 - 5
src/pathgame/rendering/HUDRenderer.java

@@ -23,7 +23,6 @@ public class HUDRenderer
         renderHUDBackgound(r);
         renderObjectiveTracker(r, p);
         renderEnergyBar(r, p);
-        //todo: render Energy Bar
         renderEnergyText(r, p);
         renderMinusEnergy(r, p, lag);
 
@@ -63,9 +62,6 @@ public class HUDRenderer
                 r.getViewWidth() * 0.5f
                 - r.getFontRenderer().getSize(energy).getWidth() - 15,
                 1, energy);
-//        r.getFontRenderer().drawString(
-//                111,
-//                1, energy);
     }
 
     void renderEnergyBar(Renderer r, Player p)
@@ -76,7 +72,6 @@ public class HUDRenderer
         r.setBlendingEnabled(true);
 
         float energyPercent = 100 / (float) p.getEnergySupply() * (float) p.getEnergyLeft() / 100;
-        //System.out.println(energyPercent);
         ENERGYBARGREY.bind();
         r.getTextureRenderer().drawRectangle(100, 0, (r.getViewWidth() / 2 - 5), 10, 0, 0, 1, 1);
 

+ 6 - 5
src/pathgame/rendering/MenuRenderer.java

@@ -6,6 +6,7 @@ import pathgame.gameplay.Menu;
 
 public class MenuRenderer
 {
+
     public void renderTick(Renderer r, float lag, Menu menu)
     {
         r.translateTo(0.0f, 0.0f);
@@ -13,12 +14,12 @@ public class MenuRenderer
         r.updateMatrix();
 
         renderBackground(r);
-        renderButton("Start", r.getViewHeight() * 0.25f - 20 - r.getFontRenderer().getSize("Start").getHeight() * 0.5f, menu.isActiveButton(Menu.menuButtons.START), r);
-        renderButton("Options", r.getViewHeight() * 0.25f - r.getFontRenderer().getSize("Options").getHeight() * 0.5f, menu.isActiveButton(Menu.menuButtons.OPTIONS), r);
-        renderButton("Exit", r.getViewHeight() * 0.25f + 20 - r.getFontRenderer().getSize("Exit").getHeight() * 0.5f, menu.isActiveButton(Menu.menuButtons.EXIT), r);
+        renderButton("Start", r.getViewHeight() * 0.25f - 20 - r.getFontRenderer().getSize("Start").getHeight() * 0.5f, menu.isActiveButton(Menu.MenuButtons.START), r);
+        renderButton("Options", r.getViewHeight() * 0.25f - r.getFontRenderer().getSize("Options").getHeight() * 0.5f, menu.isActiveButton(Menu.MenuButtons.OPTIONS), r);
+        renderButton("Exit", r.getViewHeight() * 0.25f + 20 - r.getFontRenderer().getSize("Exit").getHeight() * 0.5f, menu.isActiveButton(Menu.MenuButtons.EXIT), r);
     }
 
-    void renderButton(String text, float y, boolean active, Renderer r)
+    private void renderButton(String text, float y, boolean active, Renderer r)
     {
         r.setMixColorEnabled(false);
         r.setColorEnabled(true);
@@ -35,7 +36,7 @@ public class MenuRenderer
         r.getFontRenderer().drawString(r.getViewWidth() * 0.25f - (r.getFontRenderer().getSize(s).getWidth() * 0.5f), y, s);
     }
 
-    void renderBackground(Renderer r)
+    private void renderBackground(Renderer r)
     {
         r.setMixColorEnabled(true);
         r.setColorEnabled(true);

+ 0 - 56
x

@@ -1,56 +0,0 @@
-commit 197a34ce72533feb900ebf39175dc1b0d1976a58 (HEAD -> gameplay, origin/master, origin/gameplay, origin/HEAD, master)
-Author: Hudriwudri <33928114+jpichler11@users.noreply.github.com>
-Date:   Mon Oct 21 22:58:36 2019 +0200
-
-    HUD - Energy Bar
-
-commit 4349899f54a6e820aa2aa06474c4cea4bf322388 (origin/tilemap)
-Author: Kajetan Johannes Hammerle <kajetan@hammerle.me>
-Date:   Mon Oct 21 13:10:14 2019 +0200
-
-    added mountains to texture atlas, setable map seed, forest generation
-
-commit df5be530ea3ef37921d5fc6e1763843a1d970e6b
-Author: Hudriwudri <33928114+jpichler11@users.noreply.github.com>
-Date:   Sun Oct 20 15:18:56 2019 +0200
-
-    HUD-Minus fuer gehen
-
-commit 5468c2169b8ca506539393d96032d948a81a5bad
-Author: Hudriwudri <33928114+jpichler11@users.noreply.github.com>
-Date:   Fri Oct 18 11:30:32 2019 +0200
-
-    HUD - Objective Tracker
-
-commit 09bbee05c885ce50b93b1a62e0c60c537acb9d2f
-Author: Hudriwudri <33928114+jpichler11@users.noreply.github.com>
-Date:   Tue Oct 15 16:20:45 2019 +0200
-
-    adapt speed to tile
-
-commit 5ae672fbce0c3b4ebdf28112a6da23e33953daec
-Author: Hudriwudri <33928114+jpichler11@users.noreply.github.com>
-Date:   Mon Oct 14 01:24:25 2019 +0200
-
-    added energy system
-
-commit 71c82986654e38492b4ea099a4d48e9edf847072
-Author: Kajetan Johannes Hammerle <kajetan@hammerle.me>
-Date:   Sun Oct 13 11:15:29 2019 +0200
-
-    integration of highmap, basic map generator, prevent map rendering
-    artifacts, registered new tiles and their renderers, updated texture
-    atlas
-
-commit 6327e9a5e545ff86aa00ba0a411d2cd148e4d706
-Merge: 466f0c6 efcd7da
-Author: Kajetan Johannes Hammerle <kajetan@hammerle.me>
-Date:   Sun Oct 13 09:48:41 2019 +0200
-
-    Merge branch 'master' of git.hammerle.me:kjhammerle/path-game into tilemap
-
-commit efcd7da9fcaf720d40ab6a148f4b2aa5d8d388e7
-Author: Hudriwudri <33928114+jpichler11@users.noreply.github.com>
-Date:   Tue Oct 8 15:22:34 2019 +0200
-
-    improve controls, map scrolling depending on player position, zoom, map border, player renderer, refactoring