diff --git a/src/data/ui/host.png b/src/data/ui/host.png new file mode 100644 index 0000000..b2a3e63 Binary files /dev/null and b/src/data/ui/host.png differ diff --git a/src/data/ui/host_ontop.png b/src/data/ui/host_ontop.png new file mode 100644 index 0000000..8c53a7f Binary files /dev/null and b/src/data/ui/host_ontop.png differ diff --git a/src/data/ui/join.png b/src/data/ui/join.png new file mode 100644 index 0000000..ebc02de Binary files /dev/null and b/src/data/ui/join.png differ diff --git a/src/data/ui/join_ontop.png b/src/data/ui/join_ontop.png new file mode 100644 index 0000000..0365e0b Binary files /dev/null and b/src/data/ui/join_ontop.png differ diff --git a/src/ei/game/algo/AStar.java b/src/ei/game/algo/AStar.java index f3a5df7..caeea0c 100644 --- a/src/ei/game/algo/AStar.java +++ b/src/ei/game/algo/AStar.java @@ -32,7 +32,7 @@ public class AStar{ } public List startSearch(Vector2i start, Vector2i goal){ - //map[goal.getX()][goal.getY()].setBlocked(false); + //checks that the start and goul are inside the map if(start.getX() >= map.length) start.setX(map.length-1); if(start.getX() < 0) @@ -52,6 +52,8 @@ public class AStar{ goal.setY(map[0].length-1); if(goal.getY() < 0) goal.setY(0); + + map[goal.getX()][goal.getY()].setBlocked(false); return pathfinder.findPath(map[start.getX()][start.getY()], map[goal.getX()][goal.getY()]); } @@ -90,7 +92,7 @@ public class AStar{ if(!InGameState.getMap().isPosEmpty(x, y)) { map[x][y].setBlocked(true); - MultiPrintStream.out.print(1); + MultiPrintStream.out.print(""+1); } else MultiPrintStream.out.print(""+0); } diff --git a/src/ei/game/gamestate/MenuState.java b/src/ei/game/gamestate/MenuState.java index 251a117..3aee2c4 100644 --- a/src/ei/game/gamestate/MenuState.java +++ b/src/ei/game/gamestate/MenuState.java @@ -18,6 +18,8 @@ public class MenuState extends GameState implements UiListener{ private Button resume; private Button newGame; + private Button join; + private Button host; private Button quit; public MenuState(String name){ @@ -29,6 +31,7 @@ public class MenuState extends GameState implements UiListener{ menuNode = new Node("MenuNode"); int x = LWJGLGameWindow.getWidth()/2; + int y = 250; Sprite logo = new Sprite("Logo","data/logo.png"); logo.setLocation(new Vector2f(x,100)); @@ -41,24 +44,44 @@ public class MenuState extends GameState implements UiListener{ resume.setButtonSprite(s1); resume.setOnTopButtonSprite(new Sprite("ResumeButton_Selected","data/ui/resume_ontop.png")); resume.setDisabledButtonSprite(new Sprite("ResumeButton_Disabled","data/ui/resume_disabled.png")); - resume.getNode().setLocation(new Vector2f(x,250)); + resume.getNode().setLocation(new Vector2f(x,y)); resume.addListener(this); resume.setEnabled(false); ui.addUi(resume); + y += 40; Sprite s2 = new Sprite("NewButton","data/ui/new.png"); newGame = new Button("New", s2.getSize()); newGame.setButtonSprite(s2); newGame.setOnTopButtonSprite(new Sprite("NewButton_Selected","data/ui/new_ontop.png")); - newGame.getNode().setLocation(new Vector2f(x,300)); + newGame.getNode().setLocation(new Vector2f(x,y)); newGame.addListener(this); ui.addUi(newGame); - Sprite s3 = new Sprite("QuitButton","data/ui/quit.png"); - quit = new Button("Quit", s3.getSize()); - quit.setButtonSprite(s3); + y += 40; + Sprite s3 = new Sprite("JoinButton","data/ui/join.png"); + join = new Button("Join", s3.getSize()); + join.setButtonSprite(s3); + join.setOnTopButtonSprite(new Sprite("JoinButton_Selected","data/ui/join_ontop.png")); + join.getNode().setLocation(new Vector2f(x,y)); + join.addListener(this); + ui.addUi(join); + + y += 40; + Sprite s4 = new Sprite("HostButton","data/ui/host.png"); + host = new Button("Host", s4.getSize()); + host.setButtonSprite(s4); + host.setOnTopButtonSprite(new Sprite("HostButton_Selected","data/ui/host_ontop.png")); + host.getNode().setLocation(new Vector2f(x,y)); + host.addListener(this); + ui.addUi(host); + + y += 40; + Sprite s5 = new Sprite("QuitButton","data/ui/quit.png"); + quit = new Button("Quit", s5.getSize()); + quit.setButtonSprite(s5); quit.setOnTopButtonSprite(new Sprite("QuitButton_Selected","data/ui/quit_ontop.png")); - quit.getNode().setLocation(new Vector2f(x,350)); + quit.getNode().setLocation(new Vector2f(x,y)); quit.addListener(this); ui.addUi(quit); diff --git a/src/ei/game/scene/units/Unit.java b/src/ei/game/scene/units/Unit.java index 6b7da99..30c774d 100644 --- a/src/ei/game/scene/units/Unit.java +++ b/src/ei/game/scene/units/Unit.java @@ -322,7 +322,8 @@ public abstract class Unit extends GameEntity{ setPos(temp.getX(), temp.getY()); } else if(!path.isEmpty()){ - move(false, path.getLast().getX(), path.getLast().getY()); + //removed because its making problem whit the bomber unit + //move(false, path.getLast().getX(), path.getLast().getY()); } } else{