restructured welcome message, added int function in clean_input and added Game Over in user:interface.

This commit is contained in:
adamercat 2020-12-18 09:30:29 +01:00
parent a58882fa13
commit 660160e45d
3 changed files with 108 additions and 27 deletions

View File

@ -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?')
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.")

View File

@ -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.')

63
user_interface.py Normal file
View File

@ -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()