restructured welcome message, added int function in clean_input and added Game Over in user:interface.
This commit is contained in:
parent
a58882fa13
commit
660160e45d
|
@ -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
|
# 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:
|
while True:
|
||||||
try:
|
try:
|
||||||
i = str(input(message))
|
i = str(input(message))
|
||||||
|
@ -18,23 +18,42 @@ def io(message: str, options: list) -> str:
|
||||||
break
|
break
|
||||||
|
|
||||||
else:
|
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":
|
if i == "q":
|
||||||
print("Spiel wird beendet...")
|
print("--------------------------\nSpiel wird beendet...\n--------------------------")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
elif i == "r":
|
elif i == "r":
|
||||||
print("Spiel wird neu gestartet...")
|
print("--------------------------\nSpiel wird neu gestartet...\n--------------------------")
|
||||||
game.main()
|
game.main()
|
||||||
else:
|
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.")
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
print('Willkommen im vituellen Kneipenspiel "16 ist tot". Klingt einladend, nicht? \
|
print('Willkommen im vituellen Kneipenspiel "16 ist tot". \
|
||||||
lassen Sie sich zurückversetzen in eine Zeit, wo wir noch zusammen in engen Kneipen \
|
Jedoch kommt mit dem Rumhocken in Kneipen \
|
||||||
sitzen konnten. Jedoch kommt mit dem Rumhocken in Kneipen und dem wiederholten runterkippen\
|
der gewisse Haken, dass jemand die Runde bezahlen muss.\
|
||||||
von hirnvernebelnden Getränken der gewisse Haken, dass jemand die Runde bezahlen muss.\
|
Dies und nichts weniger steht hier auf dem Spiel!\n\n \
|
||||||
Und dies und nichts weniger steht hier auf dem Spiel!\n\n \
|
--------------------------REGELN-------------------------- \n \
|
||||||
Regeln: \n \
|
|
||||||
Jede Spielerin würfelt die Runde so oft sie will mit einem 6-seitigen Würfel.\
|
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.\
|
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.\
|
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 \
|
-Wer genau auf 10 kommt, muss noch einmal würfeln \n \
|
||||||
Hat keine Spielerin direkt verloren,\n \
|
Hat keine Spielerin direkt verloren,\n \
|
||||||
so verlieren diejenigen, die am wenigsten Punkte erreicht haben. \n \n \
|
so verlieren diejenigen, die am wenigsten Punkte erreicht haben. \n \n \
|
||||||
Zur Steuerung: \n \
|
--------------------------STEUERUNG-------------------------- \n \
|
||||||
(Neu) gewürfelt wir wenn Sie auf die ENTER-Taste drücken.\n \
|
ENTER-Taste - Neu würfeln \n \
|
||||||
Mit der Eingabe "n" reichen sie den Würfelbecher an die nächste Spielerin weiter.\n \
|
"n" - Würfelbecher weiter reichen.\n \
|
||||||
Zu jeder Zeit während dem Spiel können sie durch die Eingabe von "r" das Spiel neu starten \n \
|
"r" - das Spiel neu starten \n \
|
||||||
und mit "q" das Spiel beenden.')
|
"q" - das Spiel beenden.')
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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()
|
Loading…
Reference in New Issue