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); } }
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); }
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; }
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); }
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); }
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; }
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); }
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); }
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)); }
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); }
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; }
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; }
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)); }
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)); }
public GameState(GameState gs, Map map) : this(gs) { this.map = map; advanceMove(); }
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; }
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; }
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; }
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; }
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)); }
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); }
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; }
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; }
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()); }
//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; }
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; }