Made server and client 1
This commit is contained in:
+2
-1
@@ -1,2 +1,3 @@
|
||||
/target
|
||||
/server/target
|
||||
*.swp
|
||||
.venv
|
||||
|
||||
@@ -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()
|
||||
Generated
Reference in New Issue
Block a user