예제 #1
0
        public void initialize()
        {
            map = new Map();

            newYork = map.addCity("New York", DiseaseColor.BLUE);
            newark = map.addCity("Newark", DiseaseColor.BLUE);
            atlanta = map.addCity("Atlanta", DiseaseColor.BLUE);
            chicago = map.addCity("Chicago", DiseaseColor.BLUE);
            miami = map.addCity("Miami", DiseaseColor.ORANGE);

            City.makeAdjacent(newYork, newark);
            City.makeAdjacent(newark, atlanta);
            City.makeAdjacent(atlanta, newYork);
            City.makeAdjacent(newark, chicago);
            City.makeAdjacent(atlanta, miami);


            for (int i = 0; i < 3; i++)
            {
                map = map.addDisease(newYork);
                map = map.addDisease(newark);
                map = map.addDisease(atlanta);
                map = map.addDisease(miami);
            }

         }
예제 #2
0
 public void initialize()
 {
     map = new Map();
     atlanta = map.addCity("Atlanta", DiseaseColor.BLUE);
     newyork = map.addCity("NewYork", DiseaseColor.BLUE);
     City.makeAdjacent(atlanta, newyork);
     gs = new GameState(atlanta, map);
 }
예제 #3
0
 public static List<MakeStationAction> actionsForPlayer(Player p, Map m)
 {
     List<MakeStationAction> results = new List<MakeStationAction>();
     foreach (City c in p.cards)
     {
         if (p.position == c && m.hasStation(c) == false && m.numStations != numberAllowed)
         {
             results.Add(new MakeStationAction(p, c));
         }
     }
     return results;
 }
예제 #4
0
 public void epidemicTest()
 {
     Map map = new Map();
     City atl = map.addCity("Atlanta", DiseaseColor.BLUE);
     City ny = map.addCity("New York", DiseaseColor.BLUE);
     City.makeAdjacent(atl,ny);
     Deck<City> playerDeck = new Deck<City>(map.allCities);
     int infectRate;
     GameState gs = new GameState(atl, map, 1, 4, new Deck<City>(map.allCities), playerDeck);
     infectRate = gs.map.infectionRate;
     gs.epidemicCard();
     
     Assert.IsTrue(gs.map.diseaseLevel(atl, DiseaseColor.BLUE) == 3 || gs.map.diseaseLevel(ny, DiseaseColor.BLUE) == 3);
     Assert.AreEqual(infectRate + 1, gs.map.infectionRate);
 }
예제 #5
0
 public void epidemicDrawTest()
 {
     Map map = new Map();
     City atl = map.addCity("Atlanta", DiseaseColor.BLUE);
     City ny = map.addCity("New York", DiseaseColor.BLUE);
     City.makeAdjacent(atl, ny);
     Deck<City> playerDeck = new Deck<City>(map.allCities, false, true);
     int infectRate;
     GameState gs = new GameState(atl, map, 1, 4, new Deck<City>(map.allCities), playerDeck);
     infectRate = gs.map.infectionRate;
     playerDeck.epidemicCards.Add(1);
     GameState newGS = new TurnAction().execute(gs);
     Assert.IsTrue(newGS.map.diseaseLevel(atl, DiseaseColor.BLUE) == 3 || newGS.map.diseaseLevel(ny, DiseaseColor.BLUE) == 3);
     Assert.AreEqual(infectRate + 1, newGS.map.infectionRate);
 }
예제 #6
0
 private GameState(GameState gs)
 {
     map = gs.map;
     players = gs.players;
     currentPlayerNum = gs.currentPlayerNum;
     numPlayers = gs.numPlayers;
     numMoves = gs.numMoves;
     cpMovesUsed = gs.cpMovesUsed;
     infectionDeck = gs.infectionDeck;
     playerDeck = gs.playerDeck;
     turnAction = gs.turnAction;
     curesFound = gs.curesFound;
     bestCardHolder  = gs.bestCardHolder;
     hasEpidemic = gs.hasEpidemic;
 }
예제 #7
0
 public GameState(City startCity, Map map, int num_players = 1, int num_moves = 4, Deck<City> infectDeck = null, Deck<City> playerDeck = null)
 {
     players = new Player[num_players];
     for (int i = 0; i < num_players; i++)
     {
         players[i] = new Player(startCity, i);
     }
     this.map = map;
     this.numPlayers = num_players;
     this.numMoves = num_moves;
     this.infectionDeck = infectDeck;
     this.playerDeck = playerDeck;
     this.turnAction = new TurnAction();
     this.curesFound = new bool[4];
     for (int i = 0; i < 4; i++)
     {
         this.curesFound[i] = false;
     }
     bestCardHolder = new KeyValuePair<int,int>[4];
     bestCardHolder[(int)DiseaseColor.BLACK] = new KeyValuePair<int, int>(0, 0);
     bestCardHolder[(int)DiseaseColor.BLUE] = new KeyValuePair<int, int>(0, 0);
     bestCardHolder[(int)DiseaseColor.YELLOW] = new KeyValuePair<int, int>(0, 0);
     bestCardHolder[(int)DiseaseColor.ORANGE] = new KeyValuePair<int, int>(0, 0);
 }
예제 #8
0
        public void TestStationMove()
        {
            City rio = map.addCity("Rio", DiseaseColor.YELLOW);

            SearchEvaluate likesRio = new LikesCity(rio);

            Action action = likesRio.bfs_findbest(gs, 1);
            GameState newGS = action.execute(gs);
            Assert.AreEqual(newark, newGS.currentPlayer().position);

            map = map.addStation(newyork);
            map = map.addStation(rio);
            gs = new GameState(newyork, map);
            action = likesRio.bfs_findbest(gs, 1);
            newGS = action.execute(gs);
            Assert.AreEqual(rio, newGS.currentPlayer().position);


        }
예제 #9
0
 public void TestDisease()
 {
     City atlanta = map.addCity("Atlanta", DiseaseColor.BLUE);
     City.makeAdjacent(newyork, atlanta);
     map = map.addDisease(newyork);
     gs = new GameState(newyork, map, 1, 100);
     SearchEvaluate cleaner = new Pandemic.HatesDisease(1);
     Assert.AreEqual(1, Pandemic.HatesDisease.getTotalDisease(gs));
     Action action = cleaner.bfs_findbest(gs, 1);
     gs = action.execute(gs);
     Assert.AreEqual(0, Pandemic.HatesDisease.getTotalDisease(gs));
     gs = new GameState(gs, gs.map.addDisease(newark));
     Assert.AreEqual(1, Pandemic.HatesDisease.getTotalDisease(gs));
     gs = cleaner.bfs_findbest(gs, 2).execute(gs);
     gs = cleaner.bfs_findbest(gs, 2).execute(gs);
     Assert.AreEqual(0, Pandemic.HatesDisease.getTotalDisease(gs));
 }
예제 #10
0
        public void initialize()
        {
            map = new Map();
            newyork = map.addCity("NewYork", DiseaseColor.BLUE);
            newark = map.addCity("Newark", DiseaseColor.BLUE);
            newark1 = map.addCity("Newark1", DiseaseColor.BLUE);
            newark2 = map.addCity("Newark2", DiseaseColor.BLUE);
            newark3 = map.addCity("Newark3", DiseaseColor.BLUE);
            newark4 = map.addCity("Newark4", DiseaseColor.BLUE);
            newark5 = map.addCity("Newark5", DiseaseColor.BLUE);
            newark6 = map.addCity("Newark6", DiseaseColor.BLUE);
            newark7 = map.addCity("Newark7", DiseaseColor.BLUE);
            newark8 = map.addCity("Newark8", DiseaseColor.BLUE);
            newark9 = map.addCity("Newark9", DiseaseColor.BLUE);
            newark10 = map.addCity("Newark10", DiseaseColor.BLUE);
            City.makeAdjacent(newyork, newark);
            gs = new GameState(newyork, map);

        }
예제 #11
0
파일: Map.cs 프로젝트: grigorescu/pandemic
 public Map(Map oldMap)
 {
     numCities = oldMap.numCities;
     cities = new CityData[numCities];
     for (int i = 0; i < numCities; i++)
     {
         cities[i] = oldMap.cities[i];
     }
     allCities = oldMap.allCities;
     _outbreakCount = oldMap.outbreakCount;
     stations = oldMap.stations;
     aboutToOutbreak = oldMap.aboutToOutbreak;
     numStations = oldMap.numStations;
     infectionRate = oldMap.infectionRate;
     numInfectionsInCities = oldMap.numInfectionsInCities;            
 }
예제 #12
0
        private Map initializeCitiesTest()
        {
            //north america 
            //TODO rename CanadaCity to whatever. Add San Fran
            Map m = new Map();
            atlanta = m.addCity("Atlanta", DiseaseColor.BLUE, 0.219f, 0.357f);
            City newYork = m.addCity("NewYork", DiseaseColor.BLUE, 0.191f, 0.334f);
            City chicago = m.addCity("Chicago", DiseaseColor.BLUE, 0.088f, 0.341f);
            City washington = m.addCity("Washington", DiseaseColor.BLUE, 0.201f, 0.431f);
            City canadaCity = m.addCity("Toronto", DiseaseColor.BLUE, 0.139f, 0.342f);
            City sanFran = m.addCity("San Fransisco", DiseaseColor.BLUE, 0.025f, 0.383f);
            City losAngeles = m.addCity("Los Angeles", DiseaseColor.YELLOW, 0.034f, 0.459f);
            City miami = m.addCity("Miami", DiseaseColor.YELLOW, 0.154f, 0.482f);
            City mexicoCity = m.addCity("MexicoCity", DiseaseColor.YELLOW, 0.083f, 0.495f);

            City.makeAdjacent(newYork, washington);
            City.makeAdjacent(newYork, canadaCity);
            City.makeAdjacent(washington, atlanta);
            City.makeAdjacent(washington, miami);
            City.makeAdjacent(washington, canadaCity);
            City.makeAdjacent(canadaCity, chicago);
            City.makeAdjacent(chicago, losAngeles);
            City.makeAdjacent(chicago, sanFran);
            City.makeAdjacent(chicago, mexicoCity);
            City.makeAdjacent(chicago, atlanta);
            City.makeAdjacent(sanFran, losAngeles);
            City.makeAdjacent(mexicoCity, losAngeles);
            City.makeAdjacent(atlanta, miami);
            City.makeAdjacent(mexicoCity, miami);

            m = m.addDisease(losAngeles, 3);
            m = m.addDisease(losAngeles, 1);
            m = m.addDisease(chicago, 3);
            m = m.addDisease(chicago, 1);
            m = m.addStation(atlanta);
            m = m.addStation(newYork);

            return m;
        }
예제 #13
0
        public void cureExecuteTest()
        {
            Map map = new Map();
            City atlanta = map.addCity("Atlanta", DiseaseColor.BLUE);
            City newyork = map.addCity("NewYork", DiseaseColor.BLUE);
            City.makeAdjacent(atlanta, newyork);
            map = map.addDisease(atlanta);
            GameState gs = new GameState(atlanta, map);
            CureCityAction action = new CureCityAction(atlanta, DiseaseColor.BLUE);
            GameState newGs = action.execute(gs);
            Assert.AreEqual(1, gs.map.diseaseLevel(atlanta, DiseaseColor.BLUE));
            Assert.AreEqual(atlanta, newGs.currentPlayer().position);
            Assert.AreEqual(0, newGs.map.diseaseLevel(atlanta, DiseaseColor.BLUE));

        }
예제 #14
0
        public void TestmedSmartAi()
        {
            City newyork = map.addCity("ny", DiseaseColor.BLUE);
            City atl = map.addCity("atl", DiseaseColor.BLUE);
            City washington = map.addCity("washington", DiseaseColor.BLUE);
            City chicago = map.addCity("chicago", DiseaseColor.BLUE);


            City.makeAdjacent(newyork, atl);
            City.makeAdjacent(atl, washington);
            City.makeAdjacent(washington, chicago);
            //ny-->atl-->washington-->chicago

            map = map.addDisease(newyork, 3);


            gs = new GameState(newyork, map, 2);

            Player p1 = gs.currentPlayer();
            gs = gs.adjustPlayer(p1);
            gs = gs.setTurnAction(new DoNothingTurnAction());
            SearchEvaluate noOutbreaks = new outbreakHater(true);

            List<Action> foo = new List<Action>();
            Action q = new CureCityAction(newyork, newyork.color);
            GameState cured = q.execute(gs);
            float eval = outbreakHater.evalGame(cured);
            Action action = noOutbreaks.bfs_findbest(gs, 1);
            GameState newGS = action.execute(gs);
            float eval2 = outbreakHater.evalGame(newGS);
            Assert.AreEqual(2, newGS.map.diseaseLevel(newyork, newyork.color));
            //Assert.AreEqual(1, gs.map.aboutToOutbreak.Count());



            //testing adding + removin disease from about to outbreak list
            newGS.map = newGS.map.addDisease(chicago, 3);

            Assert.AreEqual(1, gs.map.aboutToOutbreak.Count());

            newGS.map = newGS.map.removeDisease(chicago, chicago.color);

            Assert.AreEqual(1, gs.map.aboutToOutbreak.Count());

            newGS.map = newGS.map.removeDisease(chicago, chicago.color);
            Assert.AreEqual(1, gs.map.aboutToOutbreak.Count());
            Assert.AreEqual(0, gs.map.diseaseLevel(chicago, chicago.color));
        }
예제 #15
0
 public GameState(GameState gs, Map map)
     : this(gs)
 {
     this.map = map;
     advanceMove();
 }
예제 #16
0
        public void epidemicCard()
        {
            infectionDeck = infectionDeck.drawFromBottom();
            City c = infectionDeck.mostRecent(1)[0];
            Console.WriteLine("Epidemic in " + c);
            map = map.addDisease(c, 1);
            map = map.addDisease(c, 1);
            map = map.addDisease(c, 1);

            map.infectionRate++;
            infectionDeck = infectionDeck.returnShuffledDiscard();

            hasEpidemic = true;
        }
예제 #17
0
        private Deck<City> initializePlayerDeck(Map map)
        {
            List<City> cities = new List<City>();
            cities.AddRange(map.allCities);

            Deck<City> playerDeck = new Deck<City>(cities, true, true);
            return playerDeck;
        }
예제 #18
0
        private Deck<City> initializeInfectionDeck(Map map)
        {
            List<City> cities = new List<City>();
            cities.AddRange(map.allCities);

            Deck<City> infectionDeck = new Deck<City>(cities, true);
            return infectionDeck;
        }
예제 #19
0
        private Map initializeBoard(Map m)
        {
            //initialize cities to have diseases
            // 9 cards add 3 with 3 cubes, 3 with 3, 3 with 1
            gs.infectionDeck = gs.infectionDeck.draw(9);

            List<City> cities = gs.infectionDeck.mostRecent(9);
            for (int i = 0; i < 9; i++)
            {
                if (i < 3)
                {
                    m = m.addDisease(cities.ElementAt(i), 3);
                    //Console.WriteLine(cities.ElementAt(i));
                }
                else if (i < 6)
                {
                    m = m.addDisease(cities.ElementAt(i), 2);
                    //Console.WriteLine(cities.ElementAt(i));
                }
                else
                {
                    m = m.addDisease(cities.ElementAt(i), 1);
                    //Console.WriteLine(cities.ElementAt(i));
                }
            }


            return m;
        }
예제 #20
0
 public void TestTwoPlayers()
 {
     City atlanta = map.addCity("Atlanta", DiseaseColor.BLUE);
     City.makeAdjacent(newyork, atlanta);
     map = map.addDisease(newark);
     map = map.addDisease(atlanta);
     gs = new GameState(newyork, map, 2, 2);
     gs = gs.setTurnAction(new DoNothingTurnAction());
     SearchEvaluate hatesDisease = new HatesDisease(2);
     GameState newGS = doSteps(gs, hatesDisease, 5, 5);
     Assert.AreEqual(0, HatesDisease.getTotalDisease(newGS));
 }
예제 #21
0
        public void TestMapInfectionCounter()
        {
            City newyork = map.addCity("ny", DiseaseColor.BLUE);
            City atl = map.addCity("atl", DiseaseColor.BLUE);
            City washington = map.addCity("washington", DiseaseColor.BLUE);
            City chicago = map.addCity("chicago", DiseaseColor.BLUE);


            City.makeAdjacent(newyork, atl);
            City.makeAdjacent(atl, washington);
            City.makeAdjacent(washington, chicago);

            map = map.addDisease(atl, 2);
            map = map.addDisease(chicago, 1);
            map = map.addDisease(newyork, 3);

            GameState gs = new GameState(newyork, map);
            Assert.AreEqual(6, gs.map.numInfectionsInCities);

            Map newMap = map.removeDisease(atl, DiseaseColor.BLUE);

            GameState newgs = new GameState(gs, newMap);
            Assert.AreEqual(5, newgs.map.numInfectionsInCities);
        }
예제 #22
0
파일: Map.cs 프로젝트: grigorescu/pandemic
        public Map removeDisease(City city, DiseaseColor color)
        {
            Map result = new Map(this);
            result.cities[city.cityNumber] = result.cities[city.cityNumber].adjustDisease(color, -1);

            result.numInfectionsInCities --;

            if (result.aboutToOutbreak.Contains(city) && result.diseaseLevel(city, city.color) != 3)
            {
                result.aboutToOutbreak = new List<City>(result.aboutToOutbreak);
                result.aboutToOutbreak.Remove(city);
            }

            return result;
        }
예제 #23
0
파일: Map.cs 프로젝트: grigorescu/pandemic
 public Map addStation(City city)
 {
     Map result = new Map(this);
     result.stations.Add(city);
     result.cities[city.cityNumber] = cities[city.cityNumber].addStation();
     result.cities[city.cityNumber].moveActions = null;
     return result;
 }
예제 #24
0
 public void TestLoseOutbreak()
 {
     map = new Map();
     atlanta = map.addCity("Atlanta", DiseaseColor.BLUE);
     gs = new GameState(atlanta, map, 1, 4, new Deck<City>(map.allCities), new Deck<City>(map.allCities));
     gs = new GameState(gs, gs.map.addDisease(atlanta, 3));
     Assert.AreEqual(0, gs.map.outbreakCount);
     gs = new GameState(gs, gs.map.addDisease(atlanta, 1));
     Assert.AreEqual(1, gs.map.outbreakCount);
     Assert.IsFalse(gs.hasLost());
     for (int i = 0; i < 7; i++)
     {
         gs = new GameState(gs, gs.map.addDisease(atlanta, 1));
     }
     Assert.AreEqual(8, gs.map.outbreakCount);
     Assert.IsFalse(gs.hasLost());
     gs = new GameState(gs, gs.map.addDisease(atlanta, 1));
     Assert.AreEqual(9, gs.map.outbreakCount);
     Assert.IsTrue(gs.hasLost());
 }
예제 #25
0
파일: Map.cs 프로젝트: grigorescu/pandemic
        //dangerous...modifies the Map
        public Map addDisease(City c, int num = 1)
        {
            Map result = new Map(this);
            DiseaseColor color = c.color;

            for (int i = 0; i < num; i++)
            {

                if (result.cities[c.cityNumber].disease(color) < 3)
                {
                    result.cities[c.cityNumber] = result.cities[c.cityNumber].adjustDisease(color, 1);

                    if (result.diseaseLevel(c, color) == 3)
                    {
                        result.aboutToOutbreak = new List<City>(result.aboutToOutbreak);
                        result.aboutToOutbreak.Add(c);
                    }

                    result.numInfectionsInCities ++;
                }
                else
                {
                    //outbreak
                    List<City> outbreaks = new List<City>();
                    outbreaks.Add(c);
                    List<City> toEvaluate = new List<City>();
                    toEvaluate.AddRange(c.adjacent);
                    while (toEvaluate.Count != 0)
                    {
                        City current = toEvaluate.ElementAt(0);
                        toEvaluate.RemoveAt(0);
                        if (outbreaks.Contains(current))
                            continue;
                        if (result.cities[current.cityNumber].disease(color) < 3)
                        {
                            result.cities[current.cityNumber] = result.cities[current.cityNumber].adjustDisease(color, 1);
                        }
                        else
                        {
                            toEvaluate.AddRange(current.adjacent);
                            outbreaks.Add(current);
                        }

                        result.numInfectionsInCities++;

                        if (result.diseaseLevel(current, color) == 3)
                        {
                            result.aboutToOutbreak = new List<City>(result.aboutToOutbreak);
                            result.aboutToOutbreak.Add(current);
                        }
                    }
                    result._outbreakCount += outbreaks.Count;
                }
            }
            return result;
        }
예제 #26
0
        private Map initializeCities()
        {
            //north america 
            Map m = new Map();

            atlanta = m.addCity("Atlanta", DiseaseColor.BLUE, 0.115f, 0.415f);
            City newYork = m.addCity("New York", DiseaseColor.BLUE, 0.219f, 0.356f);
            City chicago = m.addCity("Chicago", DiseaseColor.BLUE, 0.088f, 0.341f);
            City washington = m.addCity("Washington", DiseaseColor.BLUE, 0.201f, 0.431f);
            City toronto = m.addCity("Toronto", DiseaseColor.BLUE, 0.159f, 0.361f);
            City sanFran = m.addCity("San Fransisco", DiseaseColor.BLUE, 0.025f, 0.383f);
            City losAngeles = m.addCity("Los Angeles", DiseaseColor.YELLOW, 0.037f, 0.485f);
            City miami = m.addCity("Miami", DiseaseColor.YELLOW, 0.178f, 0.510f);
            City mexicoCity = m.addCity("Mexico City", DiseaseColor.YELLOW, 0.096f, 0.527f);

            City.makeAdjacent(newYork, washington);
            City.makeAdjacent(newYork, toronto);
            City.makeAdjacent(washington, atlanta);
            City.makeAdjacent(washington, miami);
            City.makeAdjacent(washington, toronto);
            City.makeAdjacent(toronto, chicago);
            City.makeAdjacent(chicago, losAngeles);
            City.makeAdjacent(chicago, sanFran);
            City.makeAdjacent(chicago, mexicoCity);
            City.makeAdjacent(chicago, atlanta);
            City.makeAdjacent(sanFran, losAngeles);
            City.makeAdjacent(mexicoCity, losAngeles);
            City.makeAdjacent(atlanta, miami);
            City.makeAdjacent(mexicoCity, miami);


            //South America
            City bogota = m.addCity("Bogota", DiseaseColor.YELLOW, 0.167f, 0.597f);
            City lima = m.addCity("Lima", DiseaseColor.YELLOW, 0.133f, 0.699f);
            City buenosAires = m.addCity("Buenos Aires", DiseaseColor.YELLOW, 0.216f, 0.802f);
            City santiago = m.addCity("Santiago", DiseaseColor.YELLOW, 0.155f, 0.818f);
            City saopaulo = m.addCity("Sau Paulo", DiseaseColor.YELLOW, 0.252f, 0.724f);

            //Africa
            City lagos = m.addCity("Lagos", DiseaseColor.YELLOW, 0.372f, 0.578f);
            City kinshasa = m.addCity("Kinshasa", DiseaseColor.YELLOW, 0.410f, 0.660f);
            City johannesburg = m.addCity("Johannesburg", DiseaseColor.YELLOW, 0.438f, 0.756f);
            City khartoum = m.addCity("Khartoum", DiseaseColor.YELLOW, 0.458f, 0.578f);

            //Europe
            City madrid = m.addCity("Madrid", DiseaseColor.BLUE, 0.319f, 0.399f);
            City london = m.addCity("London", DiseaseColor.BLUE, 0.325f, 0.289f);
            City paris = m.addCity("Paris", DiseaseColor.BLUE, 0.379f, 0.346f);
            City essen = m.addCity("Essen", DiseaseColor.BLUE, 0.391f, 0.258f);
            City stpetersburg = m.addCity("St. Petersburg", DiseaseColor.BLUE, 0.460f, 0.246f);
            City milan = m.addCity("Milan", DiseaseColor.BLUE, 0.428f, 0.333f);

            //Middle East/India/Moscow
            City moscow = m.addCity("Moscow", DiseaseColor.BLACK, 0.505f, 0.300f);
            City istanbul = m.addCity("Istanbul", DiseaseColor.BLACK, 0.449f, 0.392f);
            City algiers = m.addCity("Algiers", DiseaseColor.BLACK, 0.380f, 0.455f);
            City cairo = m.addCity("Cairo", DiseaseColor.BLACK, 0.437f, 0.491f);
            City baghdad = m.addCity("Baghdad", DiseaseColor.BLACK, 0.499f, 0.436f);
            City riyadh = m.addCity("Riyadh", DiseaseColor.BLACK, 0.508f, 0.534f);
            City karachi = m.addCity("Karachi", DiseaseColor.BLACK, 0.549f, 0.464f);
            City mumbai = m.addCity("Mumbai", DiseaseColor.BLACK, 0.561f, 0.569f);
            City dehli = m.addCity("Dehli", DiseaseColor.BLACK, 0.606f, 0.430f);
            City kolkata = m.addCity("Kolkata", DiseaseColor.BLACK, 0.655f, 0.469f);
            City tehran = m.addCity("Tehran", DiseaseColor.BLACK, 0.546f, 0.371f);
            City chennai = m.addCity("Chennai", DiseaseColor.BLACK, 0.617f, 0.621f);

            //Asia
            City bangkok = m.addCity("Bangkok", DiseaseColor.ORANGE, 0.661f, 0.570f);
            City hongkong = m.addCity("Hong Kong", DiseaseColor.ORANGE, 0.704f, 0.511f);
            City jakarta = m.addCity("Jakarta", DiseaseColor.ORANGE, 0.668f, 0.679f);
            City sydney = m.addCity("Sydney", DiseaseColor.ORANGE, 0.820f, 0.801f);
            City hochi = m.addCity("Ho Chi Minh City", DiseaseColor.ORANGE, 0.715f, 0.612f);
            City manila = m.addCity("Manila", DiseaseColor.ORANGE, 0.771f, 0.610f);
            City shanghai = m.addCity("Shanghai", DiseaseColor.ORANGE, 0.695f, 0.429f);
            City taipei = m.addCity("Taipei", DiseaseColor.ORANGE, 0.766f, 0.509f);
            City osaka = m.addCity("Osaka", DiseaseColor.ORANGE, 0.798f, 0.467f);
            City tokyo = m.addCity("Tokyo", DiseaseColor.ORANGE, 0.794f, 0.388f);
            City seoul = m.addCity("Seoul", DiseaseColor.ORANGE, 0.757f, 0.344f);
            City beijing = m.addCity("Beijing", DiseaseColor.ORANGE, 0.688f, 0.340f);

            City.makeAdjacent(bogota, miami);
            City.makeAdjacent(bogota, mexicoCity);
            City.makeAdjacent(bogota, saopaulo);
            City.makeAdjacent(bogota, buenosAires);
            City.makeAdjacent(bogota, lima);
            City.makeAdjacent(lima, mexicoCity);
            City.makeAdjacent(lima, santiago);
            City.makeAdjacent(buenosAires, saopaulo);
            City.makeAdjacent(saopaulo, lagos);
            City.makeAdjacent(saopaulo, madrid);
            City.makeAdjacent(lagos, khartoum);
            City.makeAdjacent(lagos, kinshasa);
            City.makeAdjacent(kinshasa, khartoum);
            City.makeAdjacent(kinshasa, johannesburg);
            City.makeAdjacent(khartoum, cairo);
            City.makeAdjacent(khartoum, johannesburg);
            City.makeAdjacent(madrid, newYork);
            City.makeAdjacent(madrid, algiers);
            City.makeAdjacent(madrid, paris);
            City.makeAdjacent(madrid, london);
            City.makeAdjacent(london, paris);
            City.makeAdjacent(london, newYork);
            City.makeAdjacent(london, essen);
            City.makeAdjacent(paris, essen);
            City.makeAdjacent(paris, milan);
            City.makeAdjacent(paris, algiers);
            City.makeAdjacent(essen, milan);
            City.makeAdjacent(essen, stpetersburg);
            City.makeAdjacent(stpetersburg, moscow);
            City.makeAdjacent(stpetersburg, istanbul);
            City.makeAdjacent(moscow, tehran);
            City.makeAdjacent(moscow, baghdad);
            City.makeAdjacent(moscow, istanbul);
            City.makeAdjacent(istanbul, baghdad);
            City.makeAdjacent(istanbul, cairo);
            City.makeAdjacent(istanbul, algiers);
            City.makeAdjacent(algiers, cairo);
            City.makeAdjacent(cairo, baghdad);
            City.makeAdjacent(cairo, riyadh);
            City.makeAdjacent(baghdad, tehran);
            City.makeAdjacent(baghdad, karachi);
            City.makeAdjacent(baghdad, riyadh);
            City.makeAdjacent(riyadh, karachi);
            City.makeAdjacent(karachi, dehli);
            City.makeAdjacent(karachi, mumbai);
            City.makeAdjacent(dehli, kolkata);
            City.makeAdjacent(dehli, mumbai);
            City.makeAdjacent(dehli, chennai);
            City.makeAdjacent(mumbai, chennai);
            City.makeAdjacent(kolkata, chennai);
            City.makeAdjacent(kolkata, bangkok);
            City.makeAdjacent(kolkata, hongkong);
            City.makeAdjacent(tehran, dehli);
            City.makeAdjacent(tehran, karachi);
            City.makeAdjacent(chennai, bangkok);
            City.makeAdjacent(chennai, jakarta);
            City.makeAdjacent(bangkok, hongkong);
            City.makeAdjacent(bangkok, jakarta);
            City.makeAdjacent(bangkok, hochi);
            City.makeAdjacent(hongkong, shanghai);
            City.makeAdjacent(hongkong, taipei);
            City.makeAdjacent(hongkong, manila);
            City.makeAdjacent(hongkong, hochi);
            City.makeAdjacent(jakarta, hochi);
            City.makeAdjacent(jakarta, sydney);
            City.makeAdjacent(sydney, losAngeles);
            City.makeAdjacent(hochi, manila);
            City.makeAdjacent(manila, taipei);
            City.makeAdjacent(manila, sydney);
            City.makeAdjacent(manila, sanFran);
            City.makeAdjacent(shanghai, beijing);
            City.makeAdjacent(shanghai, seoul);
            City.makeAdjacent(shanghai, tokyo);
            City.makeAdjacent(shanghai, taipei);
            City.makeAdjacent(taipei, osaka);
            City.makeAdjacent(osaka, tokyo);
            City.makeAdjacent(tokyo, seoul);
            City.makeAdjacent(tokyo, sanFran);
            City.makeAdjacent(seoul, beijing);

            m = m.addStation(atlanta);

            return m;
        }