diff --git a/src/engine/Engine.java b/src/engine/Engine.java index 6d755bf5634c866c8596d4d3523adda7b0b5811f..6ef2964ca35db7f2c6128506899dbb5428a40db3 100644 --- a/src/engine/Engine.java +++ b/src/engine/Engine.java @@ -57,286 +57,6 @@ public class Engine public void run() { isGameRunning = true; - /*TestIO.WriteLine("WELCOME TO pink_fluffy_unicorns_dancing_on_rainbows's A ket torony prototype"); - BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); - while (isGameRunning) - { - String s = null; - try - { - s = br.readLine(); - if(s == null) - { - System.exit(0); - } - } - catch (IOException e) - { - e.printStackTrace(); - } - TestCommand cmd = new TestCommand(s); - switch (cmd.name) - { - // TICK - case "tick": - int num = Integer.parseInt(cmd.args[0]); - TestIO.WriteLine("Game ticked with "+cmd.args[0]); - for (int i = 0; i < num; i++) - { - for (int j = tickables.size() - 1; j >= 0; j--) - { - tickables.get(j).tick(); - } - } - break; - // EXIT - case "exit": - TestIO.WriteLine("Game quit"); - System.exit(0); - break; - // WRITE TO FILE - case "writeToFile": - TestIO.SetOutputFile(cmd.args[0]); - break; - //LOAD MAP - case "loadMap": - if(tickables!=null) - tickables.clear(); - tickables = new ArrayList<ITickable>(); - if(ObjectbyID!=null) - ObjectbyID.clear(); - ObjectbyID= new HashMap<String,Object>(); - selectMap(cmd.args[0]); - TestIO.WriteLine(cmd.args[0] + " map loaded"); - break; - // BUILD TOWER - case "buildTower": - world.getPlayer().buildTower( - world.getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1]))); - break; - //BUILD OBSTACLE - case "buildObstacle": - world.getPlayer().buildObstacle( - world.getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1]))); - break; - //GET AVELIBLE MAGIC ROCKS - case "getAvelibleMagicRocks": - for(int i=0;i<world.getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).getDefense() - .getAvailableMagicRocks().size();i++) - - TestIO.WriteLine(world.getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).getDefense() - .getAvailableMagicRocks().get(i).getDisplayName()); - break; - // /UPGRADE - case "upgrade": - if (cmd.args[0].contains("T")) - { - if (cmd.args[1].equals("IncDMGRock")) - { - IncDMGRock r = new IncDMGRock(); - r.useAt((Tower)ObjectbyID.get(cmd.args[0])); - TestIO.WriteLine("Upgrade complete"); - } - else TestIO.WriteLine("Wrong rock"); - } else - if(cmd.args[0].contains("O")){ - if(cmd.args[1].equals("DecSpeedRock")){ - DecSpeedRock d = new DecSpeedRock(); - d.useAt((Obstacle)ObjectbyID.get(cmd.args[0])); - TestIO.WriteLine("Upgrade complete"); - } - else TestIO.WriteLine("Wrong rock"); - } - else - TestIO.WriteLine("Wrong object"); - break; - //TOGGLE ALWAYS FOG - case "toggleAlwaysFog": - if(Tower.alwaysFog==false){ - Tower.alwaysFog=true; - TestIO.WriteLine("Fog on");} - else{ - Tower.alwaysFog=false; - TestIO.WriteLine("Fog off");} - break; - //TOGGLE RANDOM MOVEMENT - case "toggleRandomMovement": - if(Enemy.randomMovement==false){ - Enemy.randomMovement=true; - TestIO.WriteLine("Random movement on");} - else{ - Enemy.randomMovement=false; - TestIO.WriteLine("Random movement off");} - break; - //TOGGLE RANCOM ENEMY SPAWN POS - case "toggleRandomEnemySpawnPos": - if(SpawnManager.randomEnemySpawnPos==false){ - SpawnManager.randomEnemySpawnPos=true; - TestIO.WriteLine("Random spawn position on");} - else{ - SpawnManager.randomEnemySpawnPos=false; - TestIO.WriteLine("Random spawn position off");} - break; - - // SET SPAWN TYPE - case "setSpawnType": - - SpawnManager.isFixedSpawnType = true; - switch (cmd.args[0]) - { - case "Human": - SpawnManager.fixedSpawnType=EnemyType.HUMAN; - TestIO.WriteLine("Spawn type set to Human"); - break; - case "Dwarf": - SpawnManager.fixedSpawnType=EnemyType.DWARF; - TestIO.WriteLine("Spawn type set to Dwarf"); - break; - case "Elf": - SpawnManager.fixedSpawnType=EnemyType.ELF; - TestIO.WriteLine("Spawn type set to Elf"); - break; - case "Hobbit": - SpawnManager.fixedSpawnType=EnemyType.HOBBIT; - TestIO.WriteLine("Spawn type set to Hobbit"); - break; - case "Random": - SpawnManager.isFixedSpawnType=false; - TestIO.WriteLine("Spawn type set to random"); - break; - default: - TestIO.WriteLine("Unknown type: " + cmd.args[0]); - break; - } - break; - //TOGGLE SHOOT WITH SPLIT - case "toggleShootWithSplit": - if(Enemy.alwaysSplit==false){ - Enemy.alwaysSplit=true; - TestIO.WriteLine("Split shot on");} - else{ - Enemy.alwaysSplit=false; - TestIO.WriteLine("Split shot off");} - break; - //SHOW WORLD - case "showWorld": - for(int i=0;i<30;i++){ - for(int j=0;j<30;j++){ - Field f = world.getField(i, j); - if(f.isMountainOfDoom()) - TestIO.Write("M"); - else if (f.getObstacle() != null) - TestIO.Write("O"); - else if(f.isRoad() && f.getDefense() == null && !f.isSpawn()) - TestIO.Write("R"); - else if (f.getTower() != null) - TestIO.Write("T"); - else if(f.isSpawn()) - TestIO.Write("S"); - else{ - TestIO.Write("-"); - } - } - TestIO.Write("\n"); - } - break; - // SHOW FIELD - case "showField": - TestIO.WriteLine("Field contains:"); - - for (int i = 0; i < world - .getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).getEnemies() - .size(); i++) - { - TestIO.WriteLine(String.format("%20s", world - .getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).getEnemies() - .get(i).getID() - + " " - + world.getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).getEnemies() - .get(i).getType().toString())); - } - if (world.getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).getDefense() != null) - if (world.getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).isRoad()) - { - Obstacle o = (Obstacle) world.getField( - Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).getDefense(); - TestIO.WriteLine(String.format("%20s", o.getID() + " Obstacle")); - } - else - { - Tower t = (Tower) world.getField( - Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).getDefense(); - TestIO.WriteLine(String.format("%20s", t.getID() + " Tower")); - } - if (world.getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).isRoad()) - TestIO.WriteLine(String.format("%20s", "Road")); - if (world.getField(Integer.parseInt(cmd.args[0]), - Integer.parseInt(cmd.args[1])).isMountainOfDoom()) - TestIO.WriteLine(String.format("%20s", "Mountain of Doom")); - //for (int z = 0; z < world.getSpawnManager().getSpawns().size(); z++) - //if (world.getField(Integer.parseInt(cmd.args[0]), - // Integer.parseInt(cmd.args[1])) == world - //.getSpawnManager().getSpawns().get(z)) - // TestIO.WriteLine(String.format("%20s", "Spawn")); - break; - // SHOW MAGIC - case "showMagic": - TestIO.WriteLine(new Integer(world.getPlayer().getMagic()).toString()); - break; - // SHOW - case "show": - if (cmd.args[0].contains("E")) - { - Enemy e = (Enemy) ObjectbyID.get(cmd.args[0]); - TestIO.WriteLine(e.getID() + " Enemy " + e.getType() - + " HP:" + e.getHP()+ " Move Tries:"+e.getMoveTryCount()); - } - else if (cmd.args[0].contains("T")) - { - Tower t = (Tower) ObjectbyID.get(cmd.args[0]); - TestIO.WriteLine(t.getID() + " Tower Cost:" + t.getCost() - + " Damage Human:" + t.getDamage(EnemyType.HUMAN) - + "\n" + " Damage Dwarf:" - + t.getDamage(EnemyType.DWARF) + "\n" - + " Damage Elf:" + t.getDamage(EnemyType.ELF) - + "\n" + " Damage Hobbit:" - + t.getDamage(EnemyType.HOBBIT)); - } - else if (cmd.args[0].contains("O")) - { - Obstacle o = (Obstacle) ObjectbyID.get(cmd.args[0]); - TestIO.WriteLine(o.getID() + " Obstacle Cost:" - + o.getCost() + " Slow:" + o.getSpeedModifier()); - } - break; - // HAS GAME ENDED - case "hasGameEnded": - if (isGameRunning == false && victory) - TestIO.WriteLine("Game won!"); - if (isGameRunning == false && !victory) - TestIO.WriteLine("Game lost!"); - if (isGameRunning == true) - TestIO.WriteLine("Game is still running!"); - break; - - default: - TestIO.WriteLine("Invalid command: " + cmd.name); - break; - } - } - */ } public boolean isGameRunning()