10 Commits
Author SHA1 Message Date
david-spacil c225161374 Merge pull request 'Vynulování' (#19) from feature/vynulovani into version/v0.2.0
Reviewed-on: david/kostky#19
2026-06-26 20:40:47 +02:00
david-spacil e7c8d99c96 feature/vynulovani: přidána kondolenční hláška 2026-06-26 20:37:38 +02:00
david-spacil cef9468ad0 feature/vynulovani: přidán ukazatel pčtu "striků" v podobě jednoho až dvou X vedle celkového skóre hráče 2026-06-26 20:33:33 +02:00
david-spacil 0682ad88ce feature/vynulovani: byla implementována logika pro vynulování: po třetím tahu končícím nulou dojde k vynulování celkového skóre hráče 2026-06-26 20:21:08 +02:00
david-spacil a6a256992e Merge pull request 'Přidání možnosti exit' (#18) from feature/exit into version/v0.2.0
Reviewed-on: david/kostky#18
2026-06-26 20:02:35 +02:00
david-spacil 1fcf01152d feature/exit: loučící hláška a konec 2026-06-26 20:00:30 +02:00
david-spacil 2fa0aa8a95 feature/exit: přidáno elif do evaluate() 2026-06-26 19:59:05 +02:00
david-spacil 73e8747b73 feature/exit: přidána možnost do herní nabídky 2026-06-26 19:47:20 +02:00
david-spacil 14f1ebbd29 Merge pull request 'Odstraněno volání funkce clear() při renderování chybových hlášek souvisejících s hodem (je vidět hodnoty na kostkách)' (#16) from fix/chybove-hlasky into version/v0.2.0
Reviewed-on: david/kostky#16
2026-06-26 19:45:13 +02:00
david-spacil 7e3639ab12 fix/chybove-hlasky: odstraněno volání funkce clear() při renderování chybových hlášek souvisejících s hodem (je vidět hodnoty na kostkách) 2026-06-26 19:43:06 +02:00
+32 -2
View File
@@ -122,6 +122,16 @@ def evaluate(inp: Any, count: int, throw: str) -> tuple:
return data return data
elif inp == "k": elif inp == "k":
global score global score
if score == 0:
last_two = players[pointer][-2:]
if len(last_two) > 1:
last_two_sum = sum(last_two)
if last_two_sum == 0:
score = -sum(players[pointer])
clear()
input("Po třech nulových hodech bylo vaše skóre vynulováno.")
players[pointer].append(score) players[pointer].append(score)
aggr[pointer] = sum(players[pointer]) aggr[pointer] = sum(players[pointer])
score = 0 score = 0
@@ -133,6 +143,9 @@ def evaluate(inp: Any, count: int, throw: str) -> tuple:
if winner: if winner:
data = ("win", winner, aggr[winner]) data = ("win", winner, aggr[winner])
return data return data
elif inp == "exit":
data = ("exit",)
return data
else: else:
data = ("msg", "ER03", "Zadejte prosím platnou hodnotu:", count, throw) data = ("msg", "ER03", "Zadejte prosím platnou hodnotu:", count, throw)
return data return data
@@ -222,7 +235,18 @@ def game(data: tuple):
th = throw(count) th = throw(count)
clear() clear()
print(f"Vítězné skóre: {final_score}.") print(f"Vítězné skóre: {final_score}.")
print(f"Na tahu je {pointer} ({aggr[pointer]}).")
strikes = ""
if len(players[pointer]) > 0:
if players[pointer][-1:][0] == 0:
strikes = "x"
if players[pointer][-2:][0] == 0:
strikes += "x"
else:
strikes = ""
print(f"Na tahu je {pointer} ({aggr[pointer]}{strikes}).")
print(show_throw(th)) print(show_throw(th))
if not check_value(th) and data[2] == "" and count != 0: if not check_value(th) and data[2] == "" and count != 0:
global score global score
@@ -236,6 +260,7 @@ def game(data: tuple):
" - Zadejte kombinaci kostek k ponechání (dojde k jejich vyhodnocení): [pozice kostek] (např. 1 nebo 34 nebo 123456).\n" " - Zadejte kombinaci kostek k ponechání (dojde k jejich vyhodnocení): [pozice kostek] (např. 1 nebo 34 nebo 123456).\n"
" - Hodit znovu: [h].\n" " - Hodit znovu: [h].\n"
f" - Ukončit hod a ponechat si skóre z tohoto hodu ({score}): [k].\n" f" - Ukončit hod a ponechat si skóre z tohoto hodu ({score}): [k].\n"
" - Ukončit hru: [exit].\n"
) )
inp = input(msg) inp = input(msg)
data = evaluate(inp, count, th) data = evaluate(inp, count, th)
@@ -245,7 +270,7 @@ def game(data: tuple):
msg = data[2] msg = data[2]
count = data[3] count = data[3]
th = data[4] th = data[4]
clear() # clear()
inp = input(msg) inp = input(msg)
data = evaluate(inp, count, th) data = evaluate(inp, count, th)
else: else:
@@ -262,6 +287,11 @@ def game(data: tuple):
print("Díky za hru a zase příště.") print("Díky za hru a zase příště.")
break break
elif data[0] == "exit":
clear()
print("Hra byla předčasně ukončena. Snad se zase brzy uvidíme.")
break
def main(): def main():
clear() clear()
print("Vítejte ve hře v kostky!") print("Vítejte ve hře v kostky!")