diff --git a/src/data/map/default.map b/src/data/map/default.map index f90f110..fc2c551 100644 --- a/src/data/map/default.map +++ b/src/data/map/default.map @@ -1,40 +1,40 @@ 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 -0001111111111111000000011111111111110000 -0000000000000010000000000000000000100000 -0000000000000100000000000000000001000000 -0000000000001000000000000000000010000000 -0000000000100000000000000000001000000000 -0000000001000000000000000000010000000000 -0000000010000000000000000000100000000000 -0000000100000000000000000001000000000000 -0000001000000000000000000010000000000000 -0000010000000000000000000100000000000000 -0000100000000000000000001000000000000000 -0001000000000000000000010000000000000000 -0011111111111111100000111111111111111000 -0000000000000000000000000000000000000000 -0222222222222222222002222222222222222220 -0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 -0001111111111111000000011111111111110000 -0000000000000010000000000000000000100000 -0000000000000100000000000000000001000000 -0000000000001000000000000000000010000000 -0000000000100000000000000000001000000000 -0000000001000000000000000000010000000000 -0000000010000000000000000000100000000000 -0000000100000000000000000001000000000000 -0000001000000000000000000010000000000000 -0000010000000000000000000100000000000000 -0000100000000000000000001000000000000000 -0001000000000000000000010000000000000000 -0011111111111111100000111111111111111000 0000000000000000000000000000000000000000 -0222222222222222222002222222222222222220 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000003000000000000000000000000000 +0000000000003000000000000000000000000000 +0000000000003000000000000000000000000000 +0000000000003000000000000000000000000000 +0000000000003000000000000000000000000000 +0000000000003333333333333333333333333330 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 \ No newline at end of file diff --git a/src/data/map/default.obj b/src/data/map/default.obj index 1f9b1a6..714fe5f 100644 --- a/src/data/map/default.obj +++ b/src/data/map/default.obj @@ -1,37 +1,37 @@ 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 -0000000111100000000000000001111000000000 -0000000000100000000000000000001000000000 -0000000000100000000000000000001000000000 -0000000000100000000000000000001000000000 -0000000000100000000000000000001000000000 -0000000000100000000000000000001000000000 -0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000 -0000001000000000000000000010000000000000 -0000001000000000000000000010000000000000 -0000000110000000000000000001100000000000 -0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000 -0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 -0000000111100000000000000001111000000000 -0000000000100000000000000000001000000000 -0000000000100000000000000000001000000000 -0000000000100000000000000000001000000000 -0000000000100000000000000000001000000000 -0000000000100000000000000000001000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 -0000001000000000000000000010000000000000 -0000001000000000000000000010000000000000 -0000000110000000000000000001100000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 +0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000 diff --git a/src/ei/game/gamestate/InGameState.java b/src/ei/game/gamestate/InGameState.java index 1a784a1..db14674 100644 --- a/src/ei/game/gamestate/InGameState.java +++ b/src/ei/game/gamestate/InGameState.java @@ -49,9 +49,6 @@ public class InGameState extends GameState{ player.addUnit(new Tank(0, 0, player)); player.addUnit(new Tank(1,0, player)); player.addUnit(new Tank(2,0, player)); - player.addUnit(new Bomber(3, 0, player)); - player.addUnit(new Bomber(6, 0, player)); - player.addUnit(new Bomber(7, 0, player)); player.addUnit(new APU(4, 0, player)); player.addUnit(new APU(5, 0, player)); PlayerHandler.getInstance().addPlayer(player); @@ -59,9 +56,6 @@ public class InGameState extends GameState{ AiPlayer ai = new AiPlayer(); ai.addUnit(new Tank(1,39, ai)); ai.addUnit(new Tank(2,39, ai)); - ai.addUnit(new Bomber(3, 39, ai)); - ai.addUnit(new Bomber(6, 39, ai)); - ai.addUnit(new Bomber(7, 39, ai)); ai.addUnit(new APU(4, 39, ai)); ai.addUnit(new APU(5, 39, ai)); PlayerHandler.getInstance().addPlayer(ai); diff --git a/src/ei/game/player/AiPlayer.java b/src/ei/game/player/AiPlayer.java index ad0cfd5..6a33a8a 100644 --- a/src/ei/game/player/AiPlayer.java +++ b/src/ei/game/player/AiPlayer.java @@ -1,24 +1,42 @@ package ei.game.player; +import java.util.ArrayList; + +import ei.game.scene.GameEntity; import ei.game.scene.buildings.Building; import ei.game.scene.buildings.CommandCenter; import ei.game.scene.units.APU; import ei.game.scene.units.Bomber; import ei.game.scene.units.Tank; +/** + * The AiPlayer class. + * @author Jesper Lundin + * + */ public class AiPlayer extends Player{ private CommandCenter cc; + private int timer; + private ArrayList attackingUnits; + /** + * Constructor for the AiPlayer class. Creates a temporary + * + */ public AiPlayer(){ super(); cc = new CommandCenter(30,30,this); addUnit(cc); + attackingUnits = new ArrayList(); } @Override public Building getCC() { return cc; } + /** + * Handles the actions for the computer controlled player. + */ public void update() { super.update(); if(getKredits() >= 800 && cc.getBuildQueueSize()==0) { @@ -33,25 +51,49 @@ public class AiPlayer extends Player{ cc.buildUnit(new Bomber(this)); } } - if(unitCount()>=10) { + if((unitCount()>=10 || attackingUnits.size()>=2) && timer%100==0) { for(int i=0; i < unitCount(); i++) { - if(!getUnit(i).isAttacking()){ - - getUnit(i).move(false, getUnit(i).getPos().getX()-2, getUnit(i).getPos().getY()-2); + if(!attackingUnits.contains(getUnit(i))) { + attackingUnits.add(getUnit(i)); + if(!getUnit(i).isAttacking() && !getUnit(i).isMoving()){ + attackingUnits.get(i).move(false, attackingUnits.get(i).getPos().getX()-2, attackingUnits.get(i).getPos().getY()-2); + } } } - } + } + else{ + attackingUnits.clear(); + } + timer++; + removeDead(); + + } + /** + * Removes the dead units from the temporary army. + * + */ + public void removeDead(){ + for(int i=0; i