added check_special_score() for 9, 10, and >=16

added roll_dice()
added sixteen_is_dead()
This commit is contained in:
Steinadler 2020-12-10 10:09:08 +01:00
parent 24652a721a
commit 75986862c3
1 changed files with 94 additions and 1 deletions

95
game.py
View File

@ -1,3 +1,96 @@
"""game"""
"this a test string"
import random
import time
def check_special_score(score):
"""
:param score:
:return:
"""
if score == 9:
print("9 erreicht. Ende.")
return True, 0
elif score == 10:
print("10 erreicht. Noch ein letzter Wurf.")
time.sleep(3)
r = roll_dice()
print(r)
return True, score + sum(r)
elif score >= 16:
print("Sie haben 16 erreicht.")
return True, score
else:
return False, score
def roll_dice(number=1, faces=6, seed=None):
"""
Throws a certain number of dice iwth a certain number of faces.
:param number: Number of dice
:param faces: Number of faces of a die
:param seed: Number for random.seed() to reproduce randomness
:return: List of results
"""
if seed:
random.seed(seed)
results = []
for n in range(number):
result = random.randint(1, faces)
results.append(result)
return results
def sixteen_is_dead(players):
"""
:param players:
:return:
"""
all_results = []
for p in players:
if p[1]: # human player
button = input("Sie sind an der Reihe!")
player_score = 0
while button != "n":
current_roll = roll_dice()
print("Sie haben " + str(current_roll) + " gewürfelt!")
player_score += sum(current_roll)
print("Damit haben Sie insgesamt " + str(player_score) + " gewürfelt.")
button, player_score = check_special_score(player_score)
if button:
break
button = input("Wollen Sie weiterwürfeln?")
all_results.append(player_score)
else: # AI
pass
print(all_results)
if __name__ == "__main__":
name = input("Wie heißen Sie?")
player_number = input("Gegen wie viele Personen wollen Sie spielen?")
players = []
human = (name, True)
players.append(human)
for p in player_number:
players.append(("P" + str(p), False))
sixteen_is_dead(players)