diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..59e0f89
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assignment 2/src/ca/cosc3p91/a2/Main.java b/Assignment 2/src/ca/cosc3p91/a2/Main.java
index b06e6cb..0e78c10 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/Main.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/Main.java
@@ -1,7 +1,7 @@
-package ca.cosc3p91.a2;
+package ca.cosc3p91.a3;
-import ca.cosc3p91.a2.game.GameEngine;
-import ca.cosc3p91.a2.gameobjects.Stage;
+import ca.cosc3p91.a3.game.GameEngine;
+import ca.cosc3p91.a3.gameobjects.Stage;
public class Main {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/game/GameEngine.java b/Assignment 2/src/ca/cosc3p91/a2/game/GameEngine.java
index 19457e3..b1430cd 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/game/GameEngine.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/game/GameEngine.java
@@ -1,10 +1,10 @@
-package ca.cosc3p91.a2.game;
+package ca.cosc3p91.a3.game;
-import ca.cosc3p91.a2.gameobjects.*;
-import ca.cosc3p91.a2.player.*;
-import ca.cosc3p91.a2.util.Print;
-import ca.cosc3p91.a2.util.Time;
-import ca.cosc3p91.a2.util.Util;
+import ca.cosc3p91.a3.gameobjects.*;
+import ca.cosc3p91.a3.player.*;
+import ca.cosc3p91.a3.util.Print;
+import ca.cosc3p91.a3.util.Time;
+import ca.cosc3p91.a3.util.Util;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/Assignment 2/src/ca/cosc3p91/a2/game/Map.java b/Assignment 2/src/ca/cosc3p91/a2/game/Map.java
index 2a7b664..529676b 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/game/Map.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/game/Map.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.game;
+package ca.cosc3p91.a3.game;
-import ca.cosc3p91.a2.gameobjects.*;
+import ca.cosc3p91.a3.gameobjects.*;
import java.util.ArrayList;
import java.util.List;
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Archer.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Archer.java
index ae55d04..dd5e141 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Archer.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Archer.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Archer extends Infantry {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ArcherTower.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ArcherTower.java
index 2961a6c..6b4a97f 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ArcherTower.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ArcherTower.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class ArcherTower extends DefenseBuilding {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Building.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Building.java
index bd028f3..ae6de98 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Building.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Building.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
import java.util.ArrayList;
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Cannon.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Cannon.java
index d6ae7b2..e925b2f 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Cannon.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Cannon.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Cannon extends DefenseBuilding {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/CasaDeNarino.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/CasaDeNarino.java
index ebc4b6a..cc5dc95 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/CasaDeNarino.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/CasaDeNarino.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class CasaDeNarino extends Building {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Catapult.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Catapult.java
index 97065b0..b54dbc0 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Catapult.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Catapult.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Catapult extends Infantry {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Collector.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Collector.java
index b7e6627..6e206d0 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Collector.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Collector.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Collector implements Inhabitant {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseBuilding.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseBuilding.java
index c6a8d84..5fddb8d 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseBuilding.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseBuilding.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public abstract class DefenseBuilding extends Building {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseStage.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseStage.java
index 26cd7cf..edcab79 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseStage.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseStage.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
class DefenseStage extends Stage {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseStages.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseStages.java
index 396073d..9d7c4e3 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseStages.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/DefenseStages.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class DefenseStages {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Farm.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Farm.java
index 4eacb1c..0e7b613 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Farm.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Farm.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Farm extends ResourceBuilding {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Infantry.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Infantry.java
index 450d50c..64b4468 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Infantry.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Infantry.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public abstract class Infantry implements Inhabitant {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Inhabitant.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Inhabitant.java
index 997c5a5..2003cbd 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Inhabitant.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Inhabitant.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.game.Map;
+import ca.cosc3p91.a3.game.Map;
public interface Inhabitant {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/IronMine.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/IronMine.java
index b949894..e505e45 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/IronMine.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/IronMine.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class IronMine extends ResourceBuilding {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Knight.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Knight.java
index e01248e..a01768a 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Knight.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Knight.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Knight extends Infantry {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/LumberMine.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/LumberMine.java
index 514621b..523f538 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/LumberMine.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/LumberMine.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class LumberMine extends ResourceBuilding {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceBuilding.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceBuilding.java
index 400446e..7c68ca3 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceBuilding.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceBuilding.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public abstract class ResourceBuilding extends Building {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceStage.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceStage.java
index 7585e2d..a361086 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceStage.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceStage.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class ResourceStage extends Stage {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceStages.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceStages.java
index 33add9e..fea808d 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceStages.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/ResourceStages.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class ResourceStages {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/SaulGoodMine.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/SaulGoodMine.java
index 2c3cbff..5e06583 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/SaulGoodMine.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/SaulGoodMine.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class SaulGoodMine extends ResourceBuilding {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Soldier.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Soldier.java
index 3a11d8c..94520a0 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Soldier.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Soldier.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Soldier extends Infantry {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Stage.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Stage.java
index 60fe1c6..5d60966 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Stage.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Stage.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
import java.util.HashMap;
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Tile.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Tile.java
index d6b3dae..2449e5c 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Tile.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Tile.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
import java.util.List;
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/VillageHallStages.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/VillageHallStages.java
index d1f2c3b..775bf05 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/VillageHallStages.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/VillageHallStages.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class VillageHallStages {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/VillageStage.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/VillageStage.java
index 8600fc2..87eaec6 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/VillageStage.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/VillageStage.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class VillageStage extends Stage {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Worker.java b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Worker.java
index 357b0b2..8a14141 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Worker.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/gameobjects/Worker.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Worker implements Inhabitant {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/player/Player.java b/Assignment 2/src/ca/cosc3p91/a2/player/Player.java
index 817cfd2..af70351 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/player/Player.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/player/Player.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.player;
+package ca.cosc3p91.a3.player;
public class Player {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/userinterface/GuiManager.java b/Assignment 2/src/ca/cosc3p91/a2/userinterface/GuiManager.java
index 45e4b54..65f61ca 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/userinterface/GuiManager.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/userinterface/GuiManager.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.userinterface;
+package ca.cosc3p91.a3.userinterface;
public class GuiManager {
}
\ No newline at end of file
diff --git a/Assignment 2/src/ca/cosc3p91/a2/util/Print.java b/Assignment 2/src/ca/cosc3p91/a2/util/Print.java
index 27e7398..538a566 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/util/Print.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/util/Print.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.util;
+package ca.cosc3p91.a3.util;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/Assignment 2/src/ca/cosc3p91/a2/util/Time.java b/Assignment 2/src/ca/cosc3p91/a2/util/Time.java
index 439d17f..254411a 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/util/Time.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/util/Time.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.util;
+package ca.cosc3p91.a3.util;
public class Time {
diff --git a/Assignment 2/src/ca/cosc3p91/a2/util/Util.java b/Assignment 2/src/ca/cosc3p91/a2/util/Util.java
index e909ac0..f9efe4b 100644
--- a/Assignment 2/src/ca/cosc3p91/a2/util/Util.java
+++ b/Assignment 2/src/ca/cosc3p91/a2/util/Util.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.util;
+package ca.cosc3p91.a3.util;
import java.util.Random;
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Inhabitant.java b/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Inhabitant.java
deleted file mode 100644
index 997c5a5..0000000
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Inhabitant.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package ca.cosc3p91.a2.gameobjects;
-
-import ca.cosc3p91.a2.game.Map;
-
-public interface Inhabitant {
-
- Map map = null;
- Building building = null;
- int lvl = 0;
-
- void move(Tile t);
-
- void getPosition();
-
- int getLevel();
- void setLevel(int level);
- int getCost();
-
-}
diff --git a/Assignment 3/src/ca/cosc3p91/a2/player/Player.java b/Assignment 3/src/ca/cosc3p91/a2/player/Player.java
deleted file mode 100644
index 817cfd2..0000000
--- a/Assignment 3/src/ca/cosc3p91/a2/player/Player.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package ca.cosc3p91.a2.player;
-
-public class Player {
-
-
-}
\ No newline at end of file
diff --git a/Assignment 3/src/ca/cosc3p91/a2/Main.java b/Assignment 3/src/ca/cosc3p91/a3/Main.java
similarity index 51%
rename from Assignment 3/src/ca/cosc3p91/a2/Main.java
rename to Assignment 3/src/ca/cosc3p91/a3/Main.java
index b06e6cb..13cdbc0 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/Main.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/Main.java
@@ -1,7 +1,6 @@
-package ca.cosc3p91.a2;
+package ca.cosc3p91.a3;
-import ca.cosc3p91.a2.game.GameEngine;
-import ca.cosc3p91.a2.gameobjects.Stage;
+import ca.cosc3p91.a3.game.GameEngine;
public class Main {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/game/GameEngine.java b/Assignment 3/src/ca/cosc3p91/a3/game/GameEngine.java
similarity index 83%
rename from Assignment 3/src/ca/cosc3p91/a2/game/GameEngine.java
rename to Assignment 3/src/ca/cosc3p91/a3/game/GameEngine.java
index 3dfd320..b378419 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/game/GameEngine.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/game/GameEngine.java
@@ -1,14 +1,19 @@
-package ca.cosc3p91.a2.game;
+package ca.cosc3p91.a3.game;
-import ca.cosc3p91.a2.gameobjects.*;
-import ca.cosc3p91.a2.gameobjects.factory.BuildingFactory;
-import ca.cosc3p91.a2.gameobjects.factory.InhabitantFactory;
-import ca.cosc3p91.a2.player.*;
-import ca.cosc3p91.a2.userinterface.GameDisplay;
+import ca.cosc3p91.a3.gameobjects.*;
+import ca.cosc3p91.a3.gameobjects.factory.BuildingFactory;
+import ca.cosc3p91.a3.gameobjects.factory.InhabitantFactory;
+import ca.cosc3p91.a3.player.*;
+import ca.cosc3p91.a3.userinterface.GameDisplay;
+import ca.cosc3p91.a3.util.ChallengeAdapter;
+import java.beans.XMLEncoder;
+import java.io.BufferedOutputStream;
+import java.nio.file.Files;
+import java.nio.file.Paths;
import java.util.Random;
-public class GameEngine implements Runnable {
+public class GameEngine implements Runnable {
public static final double GOLD_FACTOR = 5;
public static final double IRON_FACTOR = 1;
@@ -32,22 +37,24 @@ public class GameEngine implements Runnable {
}
public void attackVillage(Map map) {
- int defenseiveCounter = 1;
- int inhabCounter = 0;
- for (Building b : map.contains)
- if (b instanceof DefenseBuilding)
- defenseiveCounter++;
- for (Inhabitant i : map.inhabitants)
- if (i instanceof Infantry)
- inhabCounter++;
- pillageFactor = (float) inhabCounter / (float) defenseiveCounter;
- if (pillageFactor < 0)
- pillageFactor = 0;
- if (pillageFactor > 1)
- pillageFactor = 1;
- this.map.getTownHall().addWood((int) (map.getTownHall().getCurrentWood() * pillageFactor));
- this.map.getTownHall().addIron((int) (map.getTownHall().getCurrentIron() * pillageFactor));
- this.map.getTownHall().addGold((int) (map.getTownHall().getCurrentGold() * pillageFactor));
+// int defenseiveCounter = 1;
+// int inhabCounter = 0;
+// for (Building b : map.contains)
+// if (b instanceof DefenseBuilding)
+// defenseiveCounter++;
+// for (Inhabitant i : map.inhabitants)
+// if (i instanceof Infantry)
+// inhabCounter++;
+// pillageFactor = (float) inhabCounter / (float) defenseiveCounter;
+// if (pillageFactor < 0)
+// pillageFactor = 0;
+// if (pillageFactor > 1)
+// pillageFactor = 1;
+// this.map.getTownHall().addWood((int) (map.getTownHall().getCurrentWood() * pillageFactor));
+// this.map.getTownHall().addIron((int) (map.getTownHall().getCurrentIron() * pillageFactor));
+// this.map.getTownHall().addGold((int) (map.getTownHall().getCurrentGold() * pillageFactor));
+ ChallengeAdapter adapter = new ChallengeAdapter(this.map);
+ adapter.attack(map);
}
private Map generateInitialMap(){
@@ -242,6 +249,17 @@ public class GameEngine implements Runnable {
if (deleteMyHeart)
exploringMap = null;
}
+ save("test.xml", this.map);
+ }
+
+ public void save(String file, Map map){
+ try (XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(Files.newOutputStream(Paths.get(file))))) {
+ map.contains.forEach(encoder::writeObject);
+ map.inhabitants.forEach(encoder::writeObject);
+ System.out.println("Wrote map");
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
}
diff --git a/Assignment 3/src/ca/cosc3p91/a2/game/Map.java b/Assignment 3/src/ca/cosc3p91/a3/game/Map.java
similarity index 98%
rename from Assignment 3/src/ca/cosc3p91/a2/game/Map.java
rename to Assignment 3/src/ca/cosc3p91/a3/game/Map.java
index 2a7b664..529676b 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/game/Map.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/game/Map.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.game;
+package ca.cosc3p91.a3.game;
-import ca.cosc3p91.a2.gameobjects.*;
+import ca.cosc3p91.a3.gameobjects.*;
import java.util.ArrayList;
import java.util.List;
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Archer.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Archer.java
similarity index 92%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Archer.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Archer.java
index ae55d04..dd5e141 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Archer.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Archer.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Archer extends Infantry {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/ArcherTower.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/ArcherTower.java
similarity index 88%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/ArcherTower.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/ArcherTower.java
index 2961a6c..6b4a97f 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/ArcherTower.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/ArcherTower.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class ArcherTower extends DefenseBuilding {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Building.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Building.java
similarity index 92%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Building.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Building.java
index bd028f3..e9d93b9 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Building.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Building.java
@@ -1,8 +1,9 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
+import java.io.Serializable;
import java.util.ArrayList;
-public abstract class Building {
+public abstract class Building implements Serializable {
// members
private int level;
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Cannon.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Cannon.java
similarity index 87%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Cannon.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Cannon.java
index d6ae7b2..e925b2f 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Cannon.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Cannon.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Cannon extends DefenseBuilding {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/CasaDeNarino.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/CasaDeNarino.java
similarity index 98%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/CasaDeNarino.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/CasaDeNarino.java
index ebc4b6a..cc5dc95 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/CasaDeNarino.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/CasaDeNarino.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class CasaDeNarino extends Building {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Catapult.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Catapult.java
similarity index 92%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Catapult.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Catapult.java
index 97065b0..b54dbc0 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Catapult.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Catapult.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Catapult extends Infantry {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Collector.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Collector.java
similarity index 94%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Collector.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Collector.java
index b7e6627..6e206d0 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Collector.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Collector.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Collector implements Inhabitant {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/DefenseBuilding.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/DefenseBuilding.java
similarity index 91%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/DefenseBuilding.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/DefenseBuilding.java
index 08f60c8..0df9819 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/DefenseBuilding.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/DefenseBuilding.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public abstract class DefenseBuilding extends Building {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/DefenseStage.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/DefenseStage.java
similarity index 89%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/DefenseStage.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/DefenseStage.java
index 26cd7cf..edcab79 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/DefenseStage.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/DefenseStage.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
class DefenseStage extends Stage {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/DefenseStages.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/DefenseStages.java
similarity index 95%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/DefenseStages.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/DefenseStages.java
index 396073d..9d7c4e3 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/DefenseStages.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/DefenseStages.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class DefenseStages {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Farm.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Farm.java
similarity index 93%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Farm.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Farm.java
index 4812852..16ccc5d 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Farm.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Farm.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Farm extends ResourceBuilding {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Infantry.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Infantry.java
similarity index 95%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Infantry.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Infantry.java
index 450d50c..64b4468 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Infantry.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Infantry.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public abstract class Infantry implements Inhabitant {
diff --git a/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Inhabitant.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Inhabitant.java
new file mode 100644
index 0000000..e30118f
--- /dev/null
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Inhabitant.java
@@ -0,0 +1,17 @@
+package ca.cosc3p91.a3.gameobjects;
+
+import java.io.Serializable;
+
+public interface Inhabitant extends Serializable {
+
+ int lvl = 0;
+
+ void move(Tile t);
+
+ void getPosition();
+
+ int getLevel();
+ void setLevel(int level);
+ int getCost();
+
+}
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/IronMine.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/IronMine.java
similarity index 93%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/IronMine.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/IronMine.java
index edf28ab..fad54f3 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/IronMine.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/IronMine.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class IronMine extends ResourceBuilding {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Knight.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Knight.java
similarity index 92%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Knight.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Knight.java
index e01248e..a01768a 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Knight.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Knight.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Knight extends Infantry {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/LumberMine.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/LumberMine.java
similarity index 93%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/LumberMine.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/LumberMine.java
index a35e204..71d89d8 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/LumberMine.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/LumberMine.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class LumberMine extends ResourceBuilding {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/ResourceBuilding.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/ResourceBuilding.java
similarity index 93%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/ResourceBuilding.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/ResourceBuilding.java
index fb9918e..9301cf9 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/ResourceBuilding.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/ResourceBuilding.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public abstract class ResourceBuilding extends Building {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/ResourceStage.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/ResourceStage.java
similarity index 87%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/ResourceStage.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/ResourceStage.java
index 7585e2d..a361086 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/ResourceStage.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/ResourceStage.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class ResourceStage extends Stage {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/ResourceStages.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/ResourceStages.java
similarity index 96%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/ResourceStages.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/ResourceStages.java
index 33add9e..fea808d 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/ResourceStages.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/ResourceStages.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class ResourceStages {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/SaulGoodMine.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/SaulGoodMine.java
similarity index 93%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/SaulGoodMine.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/SaulGoodMine.java
index fcc1dbe..0834003 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/SaulGoodMine.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/SaulGoodMine.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class SaulGoodMine extends ResourceBuilding {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Soldier.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Soldier.java
similarity index 92%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Soldier.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Soldier.java
index 3a11d8c..94520a0 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Soldier.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Soldier.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Soldier extends Infantry {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Stage.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Stage.java
similarity index 86%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Stage.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Stage.java
index 60fe1c6..d5d2a05 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Stage.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Stage.java
@@ -1,10 +1,10 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
-import java.util.HashMap;
+import java.io.Serializable;
-public abstract class Stage {
+public abstract class Stage implements Serializable {
protected int dHealth;
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Tile.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Tile.java
similarity index 50%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Tile.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Tile.java
index d6b3dae..20ede00 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Tile.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Tile.java
@@ -1,6 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
-
-import java.util.List;
+package ca.cosc3p91.a3.gameobjects;
public class Tile {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/VillageHallStages.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/VillageHallStages.java
similarity index 92%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/VillageHallStages.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/VillageHallStages.java
index d1f2c3b..775bf05 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/VillageHallStages.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/VillageHallStages.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class VillageHallStages {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/VillageStage.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/VillageStage.java
similarity index 92%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/VillageStage.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/VillageStage.java
index 8600fc2..87eaec6 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/VillageStage.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/VillageStage.java
@@ -1,6 +1,6 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
-import ca.cosc3p91.a2.util.Time;
+import ca.cosc3p91.a3.util.Time;
public class VillageStage extends Stage {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Worker.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Worker.java
similarity index 94%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/Worker.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/Worker.java
index 357b0b2..8a14141 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/Worker.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/Worker.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.gameobjects;
+package ca.cosc3p91.a3.gameobjects;
public class Worker implements Inhabitant {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/factory/BuildingFactory.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/factory/BuildingFactory.java
similarity index 88%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/factory/BuildingFactory.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/factory/BuildingFactory.java
index ef9af9d..bc8bdfb 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/factory/BuildingFactory.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/factory/BuildingFactory.java
@@ -1,7 +1,7 @@
-package ca.cosc3p91.a2.gameobjects.factory;
+package ca.cosc3p91.a3.gameobjects.factory;
-import ca.cosc3p91.a2.gameobjects.*;
-import ca.cosc3p91.a2.util.Util;
+import ca.cosc3p91.a3.gameobjects.*;
+import ca.cosc3p91.a3.util.Util;
public class BuildingFactory {
public Building getBuilding(String buildingName) {
diff --git a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/factory/InhabitantFactory.java b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/factory/InhabitantFactory.java
similarity index 87%
rename from Assignment 3/src/ca/cosc3p91/a2/gameobjects/factory/InhabitantFactory.java
rename to Assignment 3/src/ca/cosc3p91/a3/gameobjects/factory/InhabitantFactory.java
index 327ffd7..b984154 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/gameobjects/factory/InhabitantFactory.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/gameobjects/factory/InhabitantFactory.java
@@ -1,7 +1,7 @@
-package ca.cosc3p91.a2.gameobjects.factory;
+package ca.cosc3p91.a3.gameobjects.factory;
-import ca.cosc3p91.a2.gameobjects.*;
-import ca.cosc3p91.a2.util.Util;
+import ca.cosc3p91.a3.gameobjects.*;
+import ca.cosc3p91.a3.util.Util;
public class InhabitantFactory {
public Inhabitant getInhabitant(String inhabitantName) {
diff --git a/Assignment 3/src/ca/cosc3p91/a3/player/Player.java b/Assignment 3/src/ca/cosc3p91/a3/player/Player.java
new file mode 100644
index 0000000..af70351
--- /dev/null
+++ b/Assignment 3/src/ca/cosc3p91/a3/player/Player.java
@@ -0,0 +1,6 @@
+package ca.cosc3p91.a3.player;
+
+public class Player {
+
+
+}
\ No newline at end of file
diff --git a/Assignment 3/src/ca/cosc3p91/a2/userinterface/GameDisplay.java b/Assignment 3/src/ca/cosc3p91/a3/userinterface/GameDisplay.java
similarity index 94%
rename from Assignment 3/src/ca/cosc3p91/a2/userinterface/GameDisplay.java
rename to Assignment 3/src/ca/cosc3p91/a3/userinterface/GameDisplay.java
index 691a05f..7a60d00 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/userinterface/GameDisplay.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/userinterface/GameDisplay.java
@@ -1,9 +1,9 @@
-package ca.cosc3p91.a2.userinterface;
+package ca.cosc3p91.a3.userinterface;
-import ca.cosc3p91.a2.game.Map;
-import ca.cosc3p91.a2.gameobjects.Building;
-import ca.cosc3p91.a2.gameobjects.Inhabitant;
-import ca.cosc3p91.a2.util.Print;
+import ca.cosc3p91.a3.game.Map;
+import ca.cosc3p91.a3.gameobjects.Building;
+import ca.cosc3p91.a3.gameobjects.Inhabitant;
+import ca.cosc3p91.a3.util.Print;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/Assignment 3/src/ca/cosc3p91/a2/util/ChallengeAdapter.java b/Assignment 3/src/ca/cosc3p91/a3/util/ChallengeAdapter.java
similarity index 98%
rename from Assignment 3/src/ca/cosc3p91/a2/util/ChallengeAdapter.java
rename to Assignment 3/src/ca/cosc3p91/a3/util/ChallengeAdapter.java
index 65d9750..76d3269 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/util/ChallengeAdapter.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/util/ChallengeAdapter.java
@@ -1,8 +1,8 @@
-package ca.cosc3p91.a2.util;
+package ca.cosc3p91.a3.util;
import ChallengeDecision.*;
-import ca.cosc3p91.a2.game.Map;
-import ca.cosc3p91.a2.gameobjects.*;
+import ca.cosc3p91.a3.game.Map;
+import ca.cosc3p91.a3.gameobjects.*;
import java.util.ArrayList;
import java.util.List;
diff --git a/Assignment 3/src/ca/cosc3p91/a2/util/Print.java b/Assignment 3/src/ca/cosc3p91/a3/util/Print.java
similarity index 99%
rename from Assignment 3/src/ca/cosc3p91/a2/util/Print.java
rename to Assignment 3/src/ca/cosc3p91/a3/util/Print.java
index 27e7398..538a566 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/util/Print.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/util/Print.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.util;
+package ca.cosc3p91.a3.util;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/Assignment 3/src/ca/cosc3p91/a2/util/Time.java b/Assignment 3/src/ca/cosc3p91/a3/util/Time.java
similarity index 89%
rename from Assignment 3/src/ca/cosc3p91/a2/util/Time.java
rename to Assignment 3/src/ca/cosc3p91/a3/util/Time.java
index 439d17f..6f5ee06 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/util/Time.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/util/Time.java
@@ -1,6 +1,8 @@
-package ca.cosc3p91.a2.util;
+package ca.cosc3p91.a3.util;
-public class Time {
+import java.io.Serializable;
+
+public class Time implements Serializable {
private long timeSeconds;
diff --git a/Assignment 3/src/ca/cosc3p91/a2/util/Util.java b/Assignment 3/src/ca/cosc3p91/a3/util/Util.java
similarity index 93%
rename from Assignment 3/src/ca/cosc3p91/a2/util/Util.java
rename to Assignment 3/src/ca/cosc3p91/a3/util/Util.java
index 7d7c5c8..634092d 100644
--- a/Assignment 3/src/ca/cosc3p91/a2/util/Util.java
+++ b/Assignment 3/src/ca/cosc3p91/a3/util/Util.java
@@ -1,4 +1,4 @@
-package ca.cosc3p91.a2.util;
+package ca.cosc3p91.a3.util;
import java.util.Random;