| summaryrefslogtreecommitdiff | 
path: root/tonkadur_ui.py
diff options
Diffstat (limited to 'tonkadur_ui.py')
| -rw-r--r-- | tonkadur_ui.py | 22 | 
1 files changed, 19 insertions, 3 deletions
| diff --git a/tonkadur_ui.py b/tonkadur_ui.py index 5c1a6fa..de1001e 100644 --- a/tonkadur_ui.py +++ b/tonkadur_ui.py @@ -17,6 +17,22 @@ parser.add_argument(      help = 'Wyrd JSON file to load.',  ) +def display_rich_text (rich_text): +    str_content = "" + +    if (not (rich_text['effect'] is None)): +        str_content += "{(" + str(rich_text['effect']) + ") " + +    for c in rich_text['content']: +        if (isinstance(c, str)): +            str_content += c +        else: +            str_content += display_rich_text(c) + +    if (not (rich_text['effect'] is None)): +        str_content = "}" +    return str_content +  args = parser.parse_args()  state = tonkadur.Tonkadur(args.world_file) @@ -29,15 +45,15 @@ try:              print("Program ended")              break          elif (result_category == "display"): -            print(result['content']) +            print(display_rich_text(result['content']))          elif (result_category == "assert"): -            print("Assert failed at line " + str(result['line']) + ":" + str(result['message'])) +            print("Assert failed at line " + str(result['line']) + ":" + str(display_rich_text(result['message'])))              print(str(state.memory))          elif (result_category == "resolve_choices"):              current_choice = 0;              for choice in result['choices']: -                print(str(current_choice) + ". " + ''.join(choice[0]['content'])) +                print(str(current_choice) + ". " + display_rich_text(choice[0]))                  current_choice += 1              user_choice = input("Your choice? ") | 


