From 0ea46a3d721bdefab70f24c4c5573ff568a56cab Mon Sep 17 00:00:00 2001 From: Simponic Date: Thu, 10 Dec 2020 18:10:51 -0700 Subject: [PATCH] Added files --- README.md | 39 +++++++++++++++++++++++++++- Graph.py => src/Graph.py | 0 Node.py => src/Node.py | 0 builder.py => src/builder.py | 9 ++++--- finalGraph.txt => src/finalGraph.txt | 0 globals.py => src/globals.py | 0 main.py => src/main.py | 0 parse.py => src/parse.py | 0 8 files changed, 43 insertions(+), 5 deletions(-) rename Graph.py => src/Graph.py (100%) rename Node.py => src/Node.py (100%) rename builder.py => src/builder.py (93%) rename finalGraph.txt => src/finalGraph.txt (100%) rename globals.py => src/globals.py (100%) rename main.py => src/main.py (100%) rename parse.py => src/parse.py (100%) diff --git a/README.md b/README.md index b0fb7d5..f35c33f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,39 @@ -# graph-explorer +# Graph Explorer This is a WOK (wealth of knowledge) explorer that I made for fun and profit for CSE280. + +## Installation + +All you need is pygame! + +```bash +pip install pygame +``` + +## Usage +```bash +python3 main.py +``` +Select a node by clicking it; this will focus the links that are directed out of that node. + +Press "P" to select all nodes. + +Press "F" to find a node (this is done as a prompt in the shell). + +Press "Space" to pause the visualization. + +Press "C" to clear all the selected nodes. + + +## Using the WOK Builder + +```bash +python3 builder.py +``` + +The builder is a simple one; click anywhere where there is not a node to create a new one (prompted in terminal). + +You can add links between nodes by selecting first the source node and then the directed node. A description for the link will be prompted in the terminal. + +If you accidentally link two nodes, you can cancel the link by typing "no" in the description. + +Press "F" to search for a node. If found, this node will turn blue. diff --git a/Graph.py b/src/Graph.py similarity index 100% rename from Graph.py rename to src/Graph.py diff --git a/Node.py b/src/Node.py similarity index 100% rename from Node.py rename to src/Node.py diff --git a/builder.py b/src/builder.py similarity index 93% rename from builder.py rename to src/builder.py index 0bc0444..3c79d1b 100644 --- a/builder.py +++ b/src/builder.py @@ -9,8 +9,9 @@ def main(): clock = pygame.time.Clock() running = True - graph = Graph(screen, file="finalGraph.txt") - graph.fromFile(False) +# graph = Graph(screen, file="copy.txt") +# graph.fromFile(False) + graph = Graph(screen) isNodeUnderMouse = False node1 = None node2 = None @@ -25,7 +26,7 @@ def main(): file.close() running = False if event.type == pygame.KEYDOWN: - if event.key == pygame.K_SPACE: + if event.key == pygame.K_f: find = input("Name of node: ") for i in graph.nodes: if i.text == find: @@ -40,7 +41,7 @@ def main(): graph.drawLinks(i) if (node1): node2 = i - description = input("Description of link: ") + description = input("Description of link between " + node1.text + " and " + node2.text + ": ") if (description != "no"): graph.links.append([node1, node2, 1.0, description]) node2 = None diff --git a/finalGraph.txt b/src/finalGraph.txt similarity index 100% rename from finalGraph.txt rename to src/finalGraph.txt diff --git a/globals.py b/src/globals.py similarity index 100% rename from globals.py rename to src/globals.py diff --git a/main.py b/src/main.py similarity index 100% rename from main.py rename to src/main.py diff --git a/parse.py b/src/parse.py similarity index 100% rename from parse.py rename to src/parse.py