Minor usability improvements
This commit is contained in:
@@ -12,13 +12,16 @@ def query(text):
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def query_int(text):
|
def query_int(text, default):
|
||||||
try:
|
try:
|
||||||
ans = query(text)
|
ans = query(text)
|
||||||
return int(ans)
|
if ans or default is None:
|
||||||
|
return int(ans)
|
||||||
|
else:
|
||||||
|
return default
|
||||||
except ValueError:
|
except ValueError:
|
||||||
droid.makeToast("Please enter a valid number!")
|
droid.makeToast("Please enter a valid number!")
|
||||||
return query_int(text)
|
return query_int(text, default)
|
||||||
|
|
||||||
|
|
||||||
def query_yes_no(question):
|
def query_yes_no(question):
|
||||||
|
|||||||
21
main.py
21
main.py
@@ -62,7 +62,7 @@ def print_standings(players, guesses, results):
|
|||||||
# Remove invisivle characters for padding calculation
|
# Remove invisivle characters for padding calculation
|
||||||
clean = text
|
clean = text
|
||||||
for color in COLORS.values():
|
for color in COLORS.values():
|
||||||
clean = clean.replace(color, '')
|
clean = clean.replace(color, "")
|
||||||
pad = " " * (width - len(clean) - 2)
|
pad = " " * (width - len(clean) - 2)
|
||||||
|
|
||||||
print(f" {pad}{text} |", end="")
|
print(f" {pad}{text} |", end="")
|
||||||
@@ -110,11 +110,12 @@ def main():
|
|||||||
for j in range(i, i + len(players)):
|
for j in range(i, i + len(players)):
|
||||||
player = players[j % len(players)]
|
player = players[j % len(players)]
|
||||||
if j == i:
|
if j == i:
|
||||||
guess = ui.query_int(f"{player}, wie viele Stiche machst du?")
|
guess = ui.query_int(f"{player}, wie viele Stiche machst du?", None)
|
||||||
else:
|
else:
|
||||||
not_allowed = i - guess_sum
|
not_allowed = i - guess_sum
|
||||||
guess = ui.query_int(
|
guess = ui.query_int(
|
||||||
f"{player}?{f' ({not_allowed} ist nicht erlaubt)' if j == i + len(players) - 1 and i > 3 and i - guess_sum >= 0 else ''}"
|
f"(Summe: {guess_sum}) {player}?{f' ({not_allowed} ist nicht erlaubt)' if j == i + len(players) - 1 and i > 3 and i - guess_sum >= 0 else ''}",
|
||||||
|
None,
|
||||||
)
|
)
|
||||||
guesses[player] += [guess]
|
guesses[player] += [guess]
|
||||||
guess_sum += guess
|
guess_sum += guess
|
||||||
@@ -140,10 +141,13 @@ def main():
|
|||||||
player = players[j % len(players)]
|
player = players[j % len(players)]
|
||||||
if j == i:
|
if j == i:
|
||||||
result = ui.query_int(
|
result = ui.query_int(
|
||||||
f"{player}, wie viele Stiche hast du von {guesses[player][-1]} gemacht?"
|
f"{player}, wie viele Stiche hast du von {guesses[player][-1]} gemacht? [{guesses[player][-1]}]",
|
||||||
|
guesses[player][-1],
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
result = ui.query_int(f"{player}? (von {guesses[player][-1]})")
|
result = ui.query_int(
|
||||||
|
f"{player}? [{guesses[player][-1]}]", guesses[player][-1]
|
||||||
|
)
|
||||||
results[player] += [result]
|
results[player] += [result]
|
||||||
|
|
||||||
if j != i + len(players) - 1:
|
if j != i + len(players) - 1:
|
||||||
@@ -176,6 +180,9 @@ def main():
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
print("\n\n---------------RESULTS---------------")
|
||||||
|
print("-------------------------------------\n")
|
||||||
|
print_standings(players, guesses, results)
|
||||||
print()
|
print()
|
||||||
place = 0
|
place = 0
|
||||||
count = 1
|
count = 1
|
||||||
@@ -184,7 +191,9 @@ def main():
|
|||||||
if result != last:
|
if result != last:
|
||||||
place += count
|
place += count
|
||||||
count = 0
|
count = 0
|
||||||
print(f"{place}. {player} mit {result} Punkten{' WOOOHOO!!' if place == 1 else ''}")
|
print(
|
||||||
|
f"{place}. {player} mit {result} Punkten{' WOOOHOO!!' if place == 1 else ''}"
|
||||||
|
)
|
||||||
count += 1
|
count += 1
|
||||||
last = result
|
last = result
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,20 @@
|
|||||||
|
from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
def query(text):
|
def query(text):
|
||||||
return input(f"{text} \n> ")
|
return input(f"{text} \n> ")
|
||||||
|
|
||||||
|
|
||||||
def query_int(text):
|
def query_int(text: str, default: Optional[int] = None):
|
||||||
try:
|
try:
|
||||||
ans = query(text)
|
ans = query(text)
|
||||||
return int(ans)
|
if ans or default is None:
|
||||||
|
return int(ans)
|
||||||
|
else:
|
||||||
|
return default
|
||||||
except ValueError:
|
except ValueError:
|
||||||
print("Please enter a valid number!")
|
print("Please enter a valid number!")
|
||||||
return query_int(text)
|
return query_int(text, default)
|
||||||
|
|
||||||
|
|
||||||
def query_yes_no(question, default="yes"):
|
def query_yes_no(question, default="yes"):
|
||||||
|
|||||||
Reference in New Issue
Block a user