diff --git a/.gitignore b/.gitignore index e9868bd..d0935c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -/target +/server/target *.swp +.venv diff --git a/client/main.py b/client/main.py new file mode 100644 index 0000000..2b92f7e --- /dev/null +++ b/client/main.py @@ -0,0 +1,50 @@ +import requests + +# Loop and get new api +def main(): + response = {} + while True: + try: + response = api_get() + match response["action_type"]: + case "output": + character = get_character(response["character"]) + output(character, response["content"]) + case "choice": + user_choice = choice(response["choices"]) + case "end": + exit() + except: + print("Server not up or cannot be reached") + input() # Enter to go to next loop (testing) + +# Make choice +def choice(choices): + api_url = "http://localhost:20264/choice" + for (index,choice) in enumerate(choices): + print(f"{index}: {choice}") + try: + choice = int(input()) + except: + choice = 0 + print("Invalid choice") + requests.post(api_url, json=choice); + +# Character outputs text to the user +def output(character, text): + print(character["name"], "says") + print(text) + +# Get user from the backend +def get_character(character): + api_url = f"http://localhost:20264/character/{character}" + return requests.get(api_url).json() + +# Normal API request +def api_get(): + api_url = "http://localhost:20264/happening/" + response = requests.get(api_url).json() + print(response) + return response + +main() diff --git a/Cargo.lock b/server/Cargo.lock similarity index 100% rename from Cargo.lock rename to server/Cargo.lock diff --git a/Cargo.toml b/server/Cargo.toml similarity index 100% rename from Cargo.toml rename to server/Cargo.toml diff --git a/report.odt b/server/report.odt similarity index 100% rename from report.odt rename to server/report.odt diff --git a/src/api.rs b/server/src/api.rs similarity index 100% rename from src/api.rs rename to server/src/api.rs diff --git a/src/character.rs b/server/src/character.rs similarity index 100% rename from src/character.rs rename to server/src/character.rs diff --git a/src/config.rs b/server/src/config.rs similarity index 100% rename from src/config.rs rename to server/src/config.rs diff --git a/src/etiquette.txt b/server/src/etiquette.txt similarity index 100% rename from src/etiquette.txt rename to server/src/etiquette.txt diff --git a/src/main.rs b/server/src/main.rs similarity index 100% rename from src/main.rs rename to server/src/main.rs diff --git a/src/parsing.rs b/server/src/parsing.rs similarity index 100% rename from src/parsing.rs rename to server/src/parsing.rs diff --git a/src/parsing/strings.rs b/server/src/parsing/strings.rs similarity index 100% rename from src/parsing/strings.rs rename to server/src/parsing/strings.rs diff --git a/stories/characters.json b/server/stories/characters.json similarity index 100% rename from stories/characters.json rename to server/stories/characters.json diff --git a/stories/story.ha b/server/stories/story.ha similarity index 100% rename from stories/story.ha rename to server/stories/story.ha