From 231b9b45c0001ce23ea501583c09c01c4b3f1ed6 Mon Sep 17 00:00:00 2001 From: Dan Date: Mon, 25 Nov 2024 15:07:35 +0000 Subject: [PATCH] Just data entry for pokemon Gen 1 red/blue --- Pokemon_Red_Route_Planner.py | 106 +++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 Pokemon_Red_Route_Planner.py diff --git a/Pokemon_Red_Route_Planner.py b/Pokemon_Red_Route_Planner.py new file mode 100644 index 0000000..cb043d9 --- /dev/null +++ b/Pokemon_Red_Route_Planner.py @@ -0,0 +1,106 @@ +import networkx as nx +from pyvis.network import Network + +def main(): + G = nx.DiGraph() + + for i in range(1,25): + G.add_node(f'Route {i}', node_type='route') + + G.add_node('Pallet Town', node_type='location') + G.add_node('Viridian City', node_type='location') + G.add_node('Viridian Forest', node_type='location') + G.add_node('Pewter City', node_type='location') + G.add_node('Mt. Moon', node_type='location') + G.add_node('Cerulean City', node_type='location') + G.add_node('Power Plant', node_type='location') + G.add_node('Saffron City', node_type='location') + G.add_node('Celadon City', node_type='location') + G.add_node('Cerulean Cave', node_type='location') + G.add_node('Vermillion City', node_type='location') + G.add_node('Fuchsia City', node_type='location') + G.add_node('Cinnabar Island', node_type='location') + G.add_node('Seafoam Islands', node_type='location') + G.add_node('Victory Road', node_type='location') + G.add_node('Indigo Plateau', node_type='location') + G.add_node('Rock Tunnel', node_type='location') + G.add_node('Underground Path', node_type='location') + + G.add_edge('Pallet Town', 'Route 1', condition=None) + G.add_edge('Pallet Town', 'Route 21', condition=None) + G.add_edge('Route 1', 'Viridian City', condition=None) + G.add_edge('Viridian City', 'Route 2', condition=None) + G.add_edge('Route 2', 'Viridian Forest', condition=None) + G.add_edge('Viridian Forest', 'Pewter City', condition=None) + G.add_edge('Pewter City', 'Route 3', condition=None) + G.add_edge('Route 3', 'Mt. Moon', condition=None) + G.add_edge('Mt. Moon', 'Route 4', condition=None) + G.add_edge('Route 4', 'Cerulean City', condition=None) + G.add_edge('Cerulean City', 'Route 24', condition=None) + G.add_edge('Cerulean City', 'Route 9', condition=None) + G.add_edge('Cerulean City', 'Route 5', condition=None) + G.add_edge('Route 5', 'Saffron City', condition=None) + G.add_edge('Saffron City', 'Route 6', condition=None) + G.add_edge('Saffron City', 'Route 7', condition=None) + G.add_edge('Saffron City', 'Route 8', condition=None) + G.add_edge('Route 6', 'Vermillion City', condition=None) + G.add_edge('Vermillion City', 'Route 11', condition=None) + G.add_edge('Route 11', 'Route 12', condition=None) + G.add_edge('Route 12', 'Route 13', condition=None) + G.add_edge('Route 12', 'Lavender Town', condition=None) + G.add_edge('Route 7', 'Lavender Town', condition=None) + G.add_edge('Route 9', 'Route 10', condition=None) + G.add_edge('Route 10', 'Rock Tunnel', condition=None) + G.add_edge('Lavender Town', 'Rock Tunnel', condition=None) + G.add_edge('Celadon City', 'Route 8', condition=None) + G.add_edge('Celadon City', 'Route 16', condition=None) + G.add_edge('Route 16', 'Route 17', condition=None) + G.add_edge('Route 17', 'Route 18', condition=None) + G.add_edge('Route 18', 'Fuchsia City', condition=None) + G.add_edge('Fuchsia City','Route 19', condition=None) + G.add_edge('Fuchsia City','Route 15', condition=None) + G.add_edge('Fuchsia City','Safari Zone', condition=None) + G.add_edge('Route 19', 'Seafoam Islands', condition=None) + G.add_edge('Seafoam Islands', 'Route 20', condition=None) + G.add_edge('Route 20', 'Cinnabar Island', condition=None) + G.add_edge('Route 21', 'Cinnabar Island', condition=None) + G.add_edge('Route 22', 'Viridian City', condition=None) + G.add_edge('Route 22', 'Route 23', condition=None) + G.add_edge('Route 23', 'Victory Road', condition=None) + G.add_edge('Victory Road', 'Indigo Plateau', condition=None) + G.add_edge('Route 12', 'Route 13', condition=None) + G.add_edge('Route 13', 'Route 14', condition=None) + G.add_edge('Route 14', 'Route 15', condition=None) + G.add_edge('Route 24', 'Cerulean Cave', condition=None) + G.add_edge('Route 10', 'Power Plant', condition=None) + G.add_edge('Route 5', 'Underground Path', condition=None) + G.add_edge('Underground Path', 'Route 6', condition=None) + + net = Network(notebook=True) + for node, attrs in G.nodes(data=True): + net.add_node( + node, + label=node, + title=f"Type: {attrs}", + color='lightblue' if attrs == 'location' else 'lightgreen' + ) + + for source, target, attrs in G.edges(data=True): + condition = attrs['condition'] + edge_label = f"Condition: {condition}" if condition else "No condition" + net.add_edge( + source, + target, + title=edge_label, + label=edge_label, + color='red' if condition else 'gray' + ) + + net.show('pokemon_map.html') + + +if __name__ == "__main__": + try: + main() + finally: + pass \ No newline at end of file