diff --git a/main.py b/main.py index 327e079..c6c5ae4 100644 --- a/main.py +++ b/main.py @@ -12,7 +12,7 @@ with open("hodnoty.csv", "r") as csv_file: for row in csv_reader: key = str(row[0]) - value = str(row[1]) + value = int(row[1]) hodnoty[key] = value @@ -45,6 +45,14 @@ def clear(): _ = system('clear') def evaluate(inp: Any, count: int, throw: str) -> tuple: + def eval_score(pick: str) -> bool: + if(pick in hodnoty): + global score + score += hodnoty[pick] + return True + else: + return False + inp = str(inp) if re.search("^\d+$", inp): if len(inp) > count: @@ -61,12 +69,24 @@ def evaluate(inp: Any, count: int, throw: str) -> tuple: data = ("msg", "ER02", f"Zvolte prosím kostky v platném rozsahu ({ran}):", count) return data old_throw = [] + pick = [] for y in range(count): - if str(y+1) in inp: + if str(y+1) not in inp: old_throw.append(throw[y]) + if str(y+1) in inp: + pick.append(throw[y]) - count = len(inp) - data = ("count", count, old_throw) + old_throw = "".join(old_throw) + pick.sort() + pick = "".join(pick) + + new_count = len(old_throw) + + if eval_score(pick) == False: + new_count = count + old_throw = throw + + data = ("count", new_count, old_throw) return data def check_value(throw: str) -> bool: @@ -83,16 +103,21 @@ def check_value(throw: str) -> bool: def game(data: tuple): if data[0] == "count": count = data[1] - old_throw = data[2] - new_throw = throw(count) - clear() - print(show_throw(new_throw)) - if check_value(new_throw): - msg = "Vyberte, kterými kostkami chcete hodit znovu (např. 135):" - if old_throw != "": - msg += f"\nHodnoty odložených kostek: {old_throw}" + th = data[2] + if(th == ""): + th = throw(count) + # clear() + print(show_throw(th)) + if check_value(th) or (check_value(th) == False and th != ""): + 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" + ) + # if old_throw != "": + # msg += f"\nHodnoty odložených kostek: {old_throw}" inp = input(msg) - data = evaluate(inp, count, new_throw) + data = evaluate(inp, count, th) game(data) else: print("Smůla, třeba příště.")