SHOW:
|
|
- or go back to the newest paste.
| 1 | import random | |
| 2 | ||
| 3 | # Funkcja wyboru poziomu trudności | |
| 4 | # Zwraca zakres liczb (low, high) w zależności od wyboru gracza | |
| 5 | def choose_difficulty(): | |
| 6 | return 0,0 | |
| 7 | ||
| 8 | # Funkcja sprawdzająca, czy podany ciąg znaków jest poprawną liczbą całkowitą | |
| 9 | def is_valid_integer(text): | |
| 10 | return text.isdigit() | |
| 11 | ||
| 12 | # Główna funkcja pojedynczej rozgrywki | |
| 13 | # Obsługuje przebieg gry od losowania liczby po zgadnięcie | |
| 14 | def play_game(): | |
| 15 | low, high = choose_difficulty() # Ustawienie zakresu | |
| 16 | secret = random.randint(low, high) # Wylosowanie sekretnej liczby | |
| 17 | attempts = 0 # Licznik prób | |
| 18 | previous_diff = None # Poprzednia różnica (dla ciepło-zimno) | |
| 19 | ||
| 20 | print(f"\n🔢 Zgadnij liczbę od {low} do {high}!")
| |
| 21 | ||
| 22 | while True: | |
| 23 | user_input = input("Twoja liczba: ")
| |
| 24 | if not is_valid_integer(user_input): | |
| 25 | print("⚠️ Podaj poprawną liczbę całkowitą!")
| |
| 26 | continue | |
| 27 | ||
| 28 | guess = int(user_input) | |
| 29 | if guess < low or guess > high: | |
| 30 | print(f"🚫 Liczba poza zakresem! Podaj liczbę od {low} do {high}.")
| |
| 31 | continue | |
| 32 | ||
| 33 | attempts += 1 | |
| 34 | current_diff = abs(secret - guess) | |
| 35 | ||
| 36 | if guess == secret: | |
| 37 | print(f"🎉 Brawo! Trafiłeś w {attempts} próbach.")
| |
| 38 | return attempts | |
| 39 | ||
| 40 | # Logika podpowiedzi „ciepło–zimno” | |
| 41 | if previous_diff is None: | |
| 42 | if current_diff > (high - low) // 2: | |
| 43 | print("🥶 Zimno...")
| |
| 44 | else: | |
| 45 | print("🌡️ Ciepło!")
| |
| 46 | else: | |
| 47 | if current_diff < previous_diff: | |
| 48 | print("🔥 Goręcej!")
| |
| 49 | elif current_diff > previous_diff: | |
| 50 | print("❄️ Zimniej!")
| |
| 51 | else: | |
| 52 | print("😐 Tak samo jak poprzednio...")
| |
| 53 | ||
| 54 | previous_diff = current_diff | |
| 55 | ||
| 56 | # Funkcja główna programu – zarządza wieloma rundami gry | |
| 57 | # Prowadzi statystyki i pokazuje podsumowanie na końcu | |
| 58 | def main(): | |
| 59 | results = [] | |
| 60 | ||
| 61 | print("🎯 Witaj w grze: Ciepło–Zimno – Zgadnij Liczbę!")
| |
| 62 | ||
| 63 | while True: | |
| 64 | attempts = play_game() | |
| 65 | results.append(attempts) | |
| 66 | ||
| 67 | again = input("\nCzy chcesz zagrać jeszcze raz? (t/n): ").lower()
| |
| 68 | if again != 't': | |
| 69 | break | |
| 70 | ||
| 71 | # Podsumowanie wyników | |
| 72 | print("\n📊 Twoje wyniki:")
| |
| 73 | for i, tries in enumerate(results, 1): | |
| 74 | print(f"Runda {i}: {tries} prób")
| |
| 75 | print(f"🔚 Średnia liczba prób: {sum(results) / len(results):.2f}")
| |
| 76 | ||
| 77 | main() |