Added files

This commit is contained in:
Simponic 2020-12-10 18:10:51 -07:00
parent 7868c17358
commit 0ea46a3d72
8 changed files with 43 additions and 5 deletions

View File

@ -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. 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.

View File

@ -9,8 +9,9 @@ def main():
clock = pygame.time.Clock() clock = pygame.time.Clock()
running = True running = True
graph = Graph(screen, file="finalGraph.txt") # graph = Graph(screen, file="copy.txt")
graph.fromFile(False) # graph.fromFile(False)
graph = Graph(screen)
isNodeUnderMouse = False isNodeUnderMouse = False
node1 = None node1 = None
node2 = None node2 = None
@ -25,7 +26,7 @@ def main():
file.close() file.close()
running = False running = False
if event.type == pygame.KEYDOWN: if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE: if event.key == pygame.K_f:
find = input("Name of node: ") find = input("Name of node: ")
for i in graph.nodes: for i in graph.nodes:
if i.text == find: if i.text == find:
@ -40,7 +41,7 @@ def main():
graph.drawLinks(i) graph.drawLinks(i)
if (node1): if (node1):
node2 = i node2 = i
description = input("Description of link: ") description = input("Description of link between " + node1.text + " and " + node2.text + ": ")
if (description != "no"): if (description != "no"):
graph.links.append([node1, node2, 1.0, description]) graph.links.append([node1, node2, 1.0, description])
node2 = None node2 = None