public object Clone()
 {
     Territory ret = new Territory(name);
     ret.armies = armies;
     ret.owner = owner;
     ret.adjacent = adjacent;
     return ret;
 }
 public abstract void TakeOwnership(Player player, Territory territory);
 public void addReverseAdjacent(Territory t)
 {
     adjacent.Add(t);
 }
 public void addTerritory(Territory territory)
 {
     territories.Add(territory);
 }
 public override void TakeOwnership(Player player, Territory territory)
 {
     territory.owner.territories.Remove(territory);
     territory.owner = player;
     player.territories.Add(territory);
     territory.armies = 0;
 }
 public Continent getParentContinent(Board board, Territory territory)
 {
     Continent parent = null;
     foreach (Continent c in board.continents)
     {
         foreach (Territory t in c.territories)
         {
             if (t.name == territory.name)
             {
                 parent = c;
                 break;
             }
         }
     }
     return parent;
 }
 public Territory biggestAdjacent(Territory territory, Player player)
 {
     Territory biggest = null;
     foreach (Territory adj in territory.adjacent)
         if (biggest == null || adj.armies > biggest.armies)
             biggest = adj;
     return biggest;
 }