diff --git a/clean_input.py b/clean_input.py index 088da2b..2a39697 100644 --- a/clean_input.py +++ b/clean_input.py @@ -5,7 +5,7 @@ import game # message needs to be a string that is printed for user instruction. options is a list of viable inputs -def io(message: str, options: list) -> str: +def io_str(message: str, options: list) -> str: while True: try: i = str(input(message)) @@ -18,23 +18,42 @@ def io(message: str, options: list) -> str: break else: - # try: - # print('Noch nicht ganz richtig. Hast du deine Auswahl auch richtig geschrieben?') - # - # except(i == 'q' or i == 'r'): - # - # if i == 'q': - # print("Spiel wird beendet...") - # sys.exit() - # - # if i == 'r': - # print("Spiel wird neu gestartet...") - # game.main() if i == "q": - print("Spiel wird beendet...") + print("--------------------------\nSpiel wird beendet...\n--------------------------") sys.exit() elif i == "r": - print("Spiel wird neu gestartet...") + print("--------------------------\nSpiel wird neu gestartet...\n--------------------------") game.main() else: - print('Noch nicht ganz richtig. Hast du deine Auswahl auch richtig geschrieben?') \ No newline at end of file + print('Noch nicht ganz richtig. Hast du deine Auswahl auch richtig geschrieben?') + +def io_int(message: str) -> int: + while True: + + unfiltered_input = input(message) + + if unfiltered_input == "q": + print("--------------------------\nSpiel wird beendet...\n--------------------------") + sys.exit() + #elif unfiltered_input == "r": + #print("--------------------------\nSpiel wird neu gestartet...\n--------------------------") + #game.main() #DAS FUNKTIONIERT NOCH NICHT + + try: + i = int(unfiltered_input) + + if i >= 1: + return i + print("deine Zahl ist", i) + break + else: + print('Bitte gib eine ganze Zahl größer als 0 ein. ') + + except (ValueError, NameError): + print("Eingabe nicht gültig, bitte wiederhole deine Eingabe.") + + + +#testing +io_int("Bitte gib eine Zahl ein.") + diff --git a/player_welcome_message b/player_welcome_message index 0677f9c..b7d1d7d 100644 --- a/player_welcome_message +++ b/player_welcome_message @@ -1,9 +1,8 @@ -print('Willkommen im vituellen Kneipenspiel "16 ist tot". Klingt einladend, nicht? \ -lassen Sie sich zurückversetzen in eine Zeit, wo wir noch zusammen in engen Kneipen \ -sitzen konnten. Jedoch kommt mit dem Rumhocken in Kneipen und dem wiederholten runterkippen\ - von hirnvernebelnden Getränken der gewisse Haken, dass jemand die Runde bezahlen muss.\ - Und dies und nichts weniger steht hier auf dem Spiel!\n\n \ -Regeln: \n \ +print('Willkommen im vituellen Kneipenspiel "16 ist tot". \ +Jedoch kommt mit dem Rumhocken in Kneipen \ + der gewisse Haken, dass jemand die Runde bezahlen muss.\ + Dies und nichts weniger steht hier auf dem Spiel!\n\n \ +--------------------------REGELN-------------------------- \n \ Jede Spielerin würfelt die Runde so oft sie will mit einem 6-seitigen Würfel.\ Dann werden die Würfelergebnisse aufsummiert, notiert und der Würfelbecher weiter gereicht.\ Ziel ist es so nah wie möglich an die 16 zu kommen.\ @@ -13,10 +12,10 @@ Sonderregeln:\n \ -Wer genau auf 10 kommt, muss noch einmal würfeln \n \ Hat keine Spielerin direkt verloren,\n \ so verlieren diejenigen, die am wenigsten Punkte erreicht haben. \n \n \ -Zur Steuerung: \n \ -(Neu) gewürfelt wir wenn Sie auf die ENTER-Taste drücken.\n \ -Mit der Eingabe "n" reichen sie den Würfelbecher an die nächste Spielerin weiter.\n \ -Zu jeder Zeit während dem Spiel können sie durch die Eingabe von "r" das Spiel neu starten \n \ -und mit "q" das Spiel beenden.') +--------------------------STEUERUNG-------------------------- \n \ + ENTER-Taste - Neu würfeln \n \ + "n" - Würfelbecher weiter reichen.\n \ + "r" - das Spiel neu starten \n \ + "q" - das Spiel beenden.') diff --git a/user_interface.py b/user_interface.py new file mode 100644 index 0000000..7852788 --- /dev/null +++ b/user_interface.py @@ -0,0 +1,63 @@ +"""user interface""" + +import time +import os + + + +def dice_animation(): + for i in range(4): + plz_print('dice_animation1.txt') + time.sleep(0.25) + clear() + plz_print('dice_animation2.txt') + time.sleep(0.25) + clear() + + +def plz_print(filename): + with open(filename, 'r', encoding='utf8') as f: + bigstring = "" + for line in f: + bigstring = bigstring + line + print('\n' + bigstring) + + +def clear(): + if os.name == 'nt': # for windows + os.system('cls') + else: # for linux, mac + os.system('clear') + +def pling(current_roll): + with open('pling_animation', 'r', encoding='utf8') as f: + big_string = "" + animations = [] + scan_lines = '' + for line in f: + big_string = big_string + line + if line[0] == '$': + animations.append(big_string[:-2]) + big_string = '' + + dice_result = animations[current_roll[0] - 1] + for line in dice_result: + scan_lines += line + if line[0] == '#': + clear() + print(scan_lines[:-2]) + time.sleep(1) + scan_lines = "" + + #for item in animations: + #print(item) + #print('------------------------------------') + +def the_end(): + print("--------------------------\n\/\/\/\ SPIEL ENDE /\/\/\/\n--------------------------") + + +#dice_animation() +#for i in range(1,7): + #pling(i) +the_end()