diff --git a/1] guessing game/Hadaci hra cislo.py b/1] guessing game/Hadaci hra cislo.py
new file mode 100644
index 0000000..7c924cb
--- /dev/null
+++ b/1] guessing game/Hadaci hra cislo.py
@@ -0,0 +1,21 @@
+import random
+def guess_the_number():
+ secret_number = random.randint(1, 100)
+
+ while True:
+ try:
+ user_guess = int(input("Hádej číslo: "))
+
+ if user_guess < secret_number:
+ print("Příliš malé!")
+ elif user_guess > secret_number:
+ print("Příliš velké!")
+ else:
+ print("Vyhráváte!")
+ break
+
+ except ValueError:
+ print("Není to číslo!")
+
+if __name__ == "__main__":
+ guess_the_number()
diff --git a/2] loto/lottohra.py b/2] loto/lottohra.py
new file mode 100644
index 0000000..329488a
--- /dev/null
+++ b/2] loto/lottohra.py
@@ -0,0 +1,25 @@
+import random
+def lotto_game():
+ user_numbers = set()
+
+ while len(user_numbers) < 6:
+ try:
+ user_input = int(input("Zadejte číslo (1-49): "))
+ if 1 <= user_input <= 49 and user_input not in user_numbers:
+ user_numbers.add(user_input)
+ else:
+ print("Neplatný vstup, zadejte platné číslo v rozsahu 1-49.")
+ except ValueError:
+ print("Neplatný vstup, zadejte platné číslo v rozsahu 1-49.")
+
+ sorted_user_numbers = sorted(user_numbers)
+ print("Vaše vybraná čísla:", sorted_user_numbers)
+
+ drawn_numbers = set(random.sample(range(1, 50), 6))
+ print("Vylosovaná čísla:", drawn_numbers)
+
+ matched_numbers = set(sorted_user_numbers).intersection(drawn_numbers)
+ print("Počet shodných čísel:", len(matched_numbers))
+
+if __name__ == "__main__":
+ lotto_game()
diff --git a/3] guessing game 2/Guess game 2.py b/3] guessing game 2/Guess game 2.py
new file mode 100644
index 0000000..e014c70
--- /dev/null
+++ b/3] guessing game 2/Guess game 2.py
@@ -0,0 +1,29 @@
+import random
+
+def guessing_number2():
+ print("Myslim na cislo mezi 1 a 1000.")
+ nejnizsi = 1
+ nejvyssi = 1000
+ pokusy = 10
+
+ for i in range(pokusy):
+ hadane_cislo = random.randint(nejnizsi, nejvyssi)
+ print(f"Pocitac hada: {hadane_cislo}")
+
+ odpoved = input("Cislo je prilis male (m), prilis velke (v) nebo vyhravate (s): ")
+
+ if odpoved == "m":
+ nejnizsi = hadane_cislo + 1
+ elif odpoved == "v":
+ nejvyssi = hadane_cislo - 1
+ elif odpoved == "s":
+ print("Pocitac vyhral!")
+ break
+ else:
+ print("Neplatna odpoved. Zadejte 'm' pro prilis male, 'v' pro prilis velke nebo 's' pro vyhravate.")
+
+ else:
+ print("Maximalni pocet pokusu. Vyhravate!")
+
+if __name__ == "__main__":
+ guessing_number2()
\ No newline at end of file
diff --git a/4] guessing game 3/skuska.py b/4] guessing game 3/skuska.py
new file mode 100644
index 0000000..f138c08
--- /dev/null
+++ b/4] guessing game 3/skuska.py
@@ -0,0 +1,85 @@
+from flask import Flask, request
+
+app = Flask(__name__)
+
+HTML_START = """
+
+
+
+
+ Hadejte cislo
+
+
+Myslete na cislo mezi 1 a 1000
+Nerikejte vase cislo ;)
+
+
+
+"""
+
+
+HTML = """
+
+
+
+
+ Hadejte cislo
+
+
+Je vase cislo {guess}?
+
+
+
+"""
+
+
+HTML_WIN = """
+
+
+
+ Hadejte cislo
+
+
+Huraaa! Uhodl jsem! Vase cislo je {guess}
+
+
+
+"""
+
+
+@app.route("/", methods=["GET", "POST"])
+def hadejte_cislo():
+ if request.method == "GET":
+ return HTML_START.format(0, 1001)
+ else:
+ min_number = int(request.form.get("min"))
+ max_number = int(request.form.get("max"))
+ user_answer = request.form.get("user_answer")
+ guess = int(request.form.get("guess", 500))
+
+ if user_answer == "prilis velke":
+ max_number = guess
+ elif user_answer == "prilis male":
+ min_number = guess
+ elif user_answer == "vyhral/a jste":
+ return HTML_WIN.format(guess=guess)
+
+ guess = (max_number - min_number) // 2 + min_number
+
+ return HTML.format(guess=guess, min=min_number, max=max_number)
+
+
+if __name__ == '__main__':
+ app.run()
\ No newline at end of file
diff --git a/5] 2001/hra2001.py b/5] 2001/hra2001.py
new file mode 100644
index 0000000..b9e5135
--- /dev/null
+++ b/5] 2001/hra2001.py
@@ -0,0 +1,48 @@
+from flask import Flask, render_template
+
+app = Flask(__name__)
+
+class DiceException(Exception):
+ pass
+
+def throw_dice():
+ return random.randint(1, 6) + random.randint(1, 6)
+
+def play_turn():
+ result = throw_dice()
+
+ if result == 7:
+ raise DiceException("// 7")
+ elif result == 11:
+ raise DiceException(" * 11")
+ else:
+ return result
+
+def play_game():
+ player_scores = [0, 0]
+
+ while max(player_scores) < 2001:
+ try:
+ player_scores[0] += play_turn()
+ player_scores[1] += play_turn()
+ except DiceException as e:
+ return None, str(e)
+
+ winner = player_scores.index(max(player_scores)) + 1
+ return winner, max(player_scores)
+
+@app.route('/')
+def index():
+ return render_template('index.html')
+
+@app.route('/play', methods=['POST'])
+def play():
+ winner, score = play_game()
+ if winner is not None:
+ return f"Hráč {winner} vyhrál s celkovým skóre {score}!"
+ else:
+ return f"Chyba: {score}"
+
+if __name__ == "__main__":
+ app.run(debug=True)
+
diff --git a/5] dice/kostkyhra.py b/5] dice/kostkyhra.py
new file mode 100644
index 0000000..ab47b66
--- /dev/null
+++ b/5] dice/kostkyhra.py
@@ -0,0 +1,22 @@
+import re
+import random
+
+def roll_dice(code):
+ pattern = re.compile(r'(\d*)[dD]([3-9]|10|12|20|100)([+\-]\d+)?')
+
+ match = pattern.match(code)
+ if not match:
+ return "Neplatny kod kostky."
+
+ num_rolls = int(match.group(1)) if match.group(1) else 1
+ dice_type = int(match.group(2))
+ modifier = int(match.group(3)) if match.group(3) else 0
+
+ result = sum(random.randint(1, dice_type) for _ in range(num_rolls)) + modifier
+
+ return f"Vysledek hodu kostkou ({num_rolls}D{dice_type}{modifier}): {result}"
+
+#priklad
+kod_kostky = input("Zadejte kod kostky (napr. 2D10+10): ")
+vysledek_hodu = roll_dice(kod_kostky)
+print(vysledek_hodu)