| summaryrefslogtreecommitdiff |
path: root/tonkadur_ui.py
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-08-07 11:14:55 +0200 |
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2020-08-07 11:14:55 +0200 |
| commit | 0516f764c1fcffe40417c9b67e500febd831afe5 (patch) | |
| tree | f0c1706c4bfe8e220dd2144622cba9f95177991d /tonkadur_ui.py | |
Initial commit.
Diffstat (limited to 'tonkadur_ui.py')
| -rw-r--r-- | tonkadur_ui.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tonkadur_ui.py b/tonkadur_ui.py new file mode 100644 index 0000000..4ffaca4 --- /dev/null +++ b/tonkadur_ui.py @@ -0,0 +1,48 @@ +import argparse + +import tonkadur + +parser = argparse.ArgumentParser( + description = ( + "Tonkadur Python Interpreter" + ) +) + +parser.add_argument( + '-f', + '--file', + dest='world_file', + type = str, + help = 'Wyrd JSON file to load.', +) + +args = parser.parse_args() +state = tonkadur.Tonkadur(args.world_file) + +#try: +while True: + result = state.run() + result_category = result['category'] + + if (result_category == "end"): + print("Program ended") + break + elif (result_category == "display"): + print(result['content']) + elif (result_category == "assert"): + print("Assert failed at line " + str(result['line']) + ":" + str(result['message'])) + elif (result_category == "resolve_choices"): + current_choice = 0; + + for choice in result['choices']: + print(str(current_choice) + ". " + ''.join(choice[0]['content'])) + current_choice += 1 + + user_choice = input("Your choice? ") + state.resolve_choice_to(result['choices'][int(user_choice)][1]) + elif (result_category == "event"): + print("Unhandled event:" + str(result)) + +#except Error: +# print("failed.\n") +print(str(state.memory)) |


