diff --git a/game/test_suite/tests/test_game_map_creation.py b/game/test_suite/tests/test_game_map_creation.py index 2ec1eba..3e44c13 100644 --- a/game/test_suite/tests/test_game_map_creation.py +++ b/game/test_suite/tests/test_game_map_creation.py @@ -17,15 +17,5 @@ def test_map_length(self): for j in curr.roads: self.assertTrue(80 <= j.length <= 120) - def test_map_names(self): - self.assertEqual(self.test_map.current_node.city_name, "1") - last = None - temp = True - while temp != False: - temp = self.test_map.get_next_node() - if temp != False: - last = temp - self.assertEqual(last.city_name, "end") - if __name__ == '__main__': unittest.main diff --git a/game/utils/create_game_map.py b/game/utils/create_game_map.py index 15b53f1..d8b0ac7 100644 --- a/game/utils/create_game_map.py +++ b/game/utils/create_game_map.py @@ -6,18 +6,47 @@ from game.common.stats import GameStats def create_game_map(node_count, length): + # Names + meme_names = ["Tosche Station", "Toschetosche Station", "King's Landing", + "Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch", "Fargo", + "goFar", "FarFar", "GoGo", "Nuketown", "de_Dust2", "Rapture", "Isengard", + "Plastic Beach", "Los Santos", "Gotham city", "Mos Eisley", "Riften", "Whiterun", + "Rorikstead"] + + normal_name_begins = ["Lazy","Big", "Dusty", "Plain", "Plank", "Spooky", + "Lucky", "Juicy", "Cowboy", "Barry", "Python", "Town", "SeaShaup", "Pearl", + "Susan", "Karen", "Chad", "Truck"] + normal_name_ends = [" Basin", " City", "town", "ton", "ville", "bury", "field"] + end_node = Node("end", [], None) g_map = Game_Map(end_node) av_road_length = length / node_count road_deviation = int(av_road_length * GameStats.road_length_variance) + old_town_name = [] for i in range(node_count, 0, -1): + first_loop = True + town_name = "" + # On off chance we get a repeat name, do again + while(first_loop or town_name in old_town_name): + # If small chance, do meme name. Else, normal + if(random.randint(1,10) == 1): + town_name = meme_names[random.randint(0, len(meme_names) - 1)] + else: + town_name = normal_name_begins[random.randint(0, len(normal_name_begins) - 1)] + normal_name_ends[random.randint(0, len(normal_name_ends) - 1)] + + first_loop = False + + # Save valid town name to confirm no repeats + old_town_name.append(town_name) + + roads = [] for j in range(random.randint(2,3)): roads.append(Road("Route "+str(i)+"-"+str(j), random.randint(1, 6), av_road_length + random.randint(-1 * road_deviation, road_deviation))) - temp_node = Node(str(i), roads, None) + temp_node = Node(town_name, roads, None) g_map.insert_node(temp_node) return g_map