From 4da38654aab3961cadfc514e117dea9d87e13d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Sp=C3=A1=C4=8Dil?= Date: Thu, 25 Jun 2026 13:15:18 +0200 Subject: [PATCH 1/4] =?UTF-8?q?fix/loop:=20zm=C4=9Bna=20z=20rekurzivn?= =?UTF-8?q?=C3=AD=20funkce=20na=20while=20loop=20v=20game()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 90 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 45 insertions(+), 45 deletions(-) diff --git a/main.py b/main.py index 1af2f02..b411869 100644 --- a/main.py +++ b/main.py @@ -209,53 +209,53 @@ def check_win() -> str: return winner def game(data: tuple): - if data[0] == "count": - count = data[1] - th = data[2] - if(th == ""): - th = throw(count) - clear() - print(f"Vítězné skóre: {final_score}.") - print(f"Na tahu je {pointer} ({aggr[pointer]}).") - print(show_throw(th)) - if not check_value(th) and data[2] == "" and count != 0: - global score - score = 0 - input("Oh no... anyway.") - data = evaluate("k", count, th) - game(data) - else: - if count == 0: - count = 6 - msg = ("Jakou akci chcete provést?\n" - " - Zadejte kombinaci kostek k ponechání (dojde k jejich vyhodnocení): [pozice kostek] (např. 1 nebo 34 nebo 123456).\n" - " - Hodit znovu: [h].\n" - f" - Ukončit hod a ponechat si skóre z tohoto hodu ({score}): [k].\n" - ) - inp = input(msg) - data = evaluate(inp, count, th) - game(data) - - elif data[0] == "msg": - if data[1] == "ER01" or data[1] == "ER02" or data[1] == "ER03": - msg = data[2] - count = data[3] - th = data[4] + while True: + if data[0] == "count": + count = data[1] + th = data[2] + if(th == ""): + th = throw(count) clear() - inp = input(msg) - data = evaluate(inp, count, th) - game(data) - else: - msg = data[1] - print(msg) - - elif data[0] == "win": - winner = data[1] - score = data[2] + print(f"Vítězné skóre: {final_score}.") + print(f"Na tahu je {pointer} ({aggr[pointer]}).") + print(show_throw(th)) + if not check_value(th) and data[2] == "" and count != 0: + global score + score = 0 + input("Oh no... anyway.") + data = evaluate("k", count, th) + else: + if count == 0: + count = 6 + msg = ("Jakou akci chcete provést?\n" + " - Zadejte kombinaci kostek k ponechání (dojde k jejich vyhodnocení): [pozice kostek] (např. 1 nebo 34 nebo 123456).\n" + " - Hodit znovu: [h].\n" + f" - Ukončit hod a ponechat si skóre z tohoto hodu ({score}): [k].\n" + ) + inp = input(msg) + data = evaluate(inp, count, th) - clear() - print(f"Vítězem se stává {winner} s {score} body!") - print("Díky za hru a zase příště.") + elif data[0] == "msg": + if data[1] == "ER01" or data[1] == "ER02" or data[1] == "ER03": + msg = data[2] + count = data[3] + th = data[4] + clear() + inp = input(msg) + data = evaluate(inp, count, th) + else: + msg = data[1] + print(msg) + break + + elif data[0] == "win": + winner = data[1] + score = data[2] + + clear() + print(f"Vítězem se stává {winner} s {score} body!") + print("Díky za hru a zase příště.") + break def main(): clear() -- 2.47.3 From 663cc79a3543b66bcde7ed88c93d79bc14a78ce3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Sp=C3=A1=C4=8Dil?= Date: Thu, 25 Jun 2026 13:36:33 +0200 Subject: [PATCH 2/4] =?UTF-8?q?fix/loop:=20zm=C4=9Bna=20z=20rekurzivn?= =?UTF-8?q?=C3=AD=20funkce=20add=5Fplayers()=20na=20while=20loop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 51 ++++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/main.py b/main.py index b411869..ab926d1 100644 --- a/main.py +++ b/main.py @@ -149,40 +149,37 @@ def check_value(throw: str) -> bool: return hodnota def add_players(iter=False): - global players - global pointer - global first - global final_score + global pointer, first, final_score - if not iter: - var = "prvního hráče" - else: - var = "dalšího hráče nebo [x] pro ukončení zadávání hráčů" - - inp = input(f"Zadejte jméno {var}: ") + while True: + inp = input("Zadejte jméno prvního hráče: ") + if inp == "": + print("Jméno nemůže být prázdné.") + else: + players[inp] = [] + aggr[inp] = 0 + pointer = inp + first = inp + print(f"Do seznamu přidáno jméno {inp}.") + break - if inp == "x": - if not iter: - add_players() - inp = input("Zadejte finální skóre (nechte prázdné pro výchozích 10 000): ") - if inp != "": - inp = int(inp) - final_score = inp - - elif inp == "": - print("Jméno nemůže být prázdné.") - add_players(iter) - else: - if inp in players: + while True: + inp = input("Zadejte jméno dalšího hráče nebo [x] pro ukončení zadávání hráčů: ") + if inp == "": + print("Jméno nemůže být prázdné.") + elif inp == "x": + break + elif inp in players: print("Zadávejte, prosím, unikátní jména.") else: players[inp] = [] aggr[inp] = 0 print(f"Do seznamu přidáno jméno {inp}.") - if not iter: - pointer = inp - first = inp - add_players(True) + + inp = input("Zadejte finální skóre (nechte prázdné pro výchozích 10 000): ") + if inp != "": + inp = int(inp) + final_score = inp def check_win() -> str: over_limit = {} -- 2.47.3 From 5f5d3319ed1e05b9830472e479d4cb9bc645abda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Sp=C3=A1=C4=8Dil?= Date: Thu, 25 Jun 2026 13:38:06 +0200 Subject: [PATCH 3/4] =?UTF-8?q?fix/loop:=20zad=C3=A1v=C3=A1n=C3=AD=20c?= =?UTF-8?q?=C3=ADlov=C3=A9ho=20sk=C3=B3re=20jako=20while=20loop=20s=20try-?= =?UTF-8?q?except=20blokem?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/main.py b/main.py index ab926d1..dcb2bba 100644 --- a/main.py +++ b/main.py @@ -176,10 +176,18 @@ def add_players(iter=False): aggr[inp] = 0 print(f"Do seznamu přidáno jméno {inp}.") - inp = input("Zadejte finální skóre (nechte prázdné pro výchozích 10 000): ") - if inp != "": - inp = int(inp) - final_score = inp + while True: + inp = input("Zadejte finální skóre (nechte prázdné pro výchozích 10 000): ") + if inp != "": + try: + inp = int(inp) + final_score = inp + except ValueError as e: + print("Zadejte prosím platnou číselnou hodnotu.") + else: + break + else: + break def check_win() -> str: over_limit = {} -- 2.47.3 From 7f9e3e9ef7e6ba47c24b1427d3d36bbefb4f5e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Sp=C3=A1=C4=8Dil?= Date: Thu, 25 Jun 2026 13:46:38 +0200 Subject: [PATCH 4/4] =?UTF-8?q?fix/loop:=20drobn=C3=A9=20opravy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index dcb2bba..ffefad1 100644 --- a/main.py +++ b/main.py @@ -148,7 +148,7 @@ def check_value(throw: str) -> bool: return hodnota -def add_players(iter=False): +def add_players(): global pointer, first, final_score while True: @@ -182,7 +182,7 @@ def add_players(iter=False): try: inp = int(inp) final_score = inp - except ValueError as e: + except ValueError: print("Zadejte prosím platnou číselnou hodnotu.") else: break -- 2.47.3