Lekcja 14 – Prosta gra tekstowa w Python

Kurs: Darmowy kurs Python dla początkujących
Lekcja 14: Prosta gra tekstowa w Python

⇓ spis treści ⇓


Wprowadzenie do pętli i logiki gry

Tworzenie gier tekstowych to doskonały sposób na naukę programowania. Dzięki pętli i warunkom możemy stworzyć mechanizmy, które pozwolą graczowi na interakcję z grą. W tej części omówimy podstawowe elementy logiki gry, takie jak pętle, warunki oraz losowość.

1. Zastosowanie pętli w grach

Pętle są kluczowym elementem gier. Pozwalają one na ciągłe wykonywanie określonych akcji, takich jak czekanie na ruch gracza czy aktualizowanie stanu gry. W grach tekstowych pętla często działa, dopóki gracz nie zakończy gry lub nie spełni określonego warunku.

# Przykład pętli gry
while True:
    komenda = input("Wpisz 'graj', aby kontynuować, lub 'wyjdź', aby zakończyć: ")
    if komenda == "wyjdź":
        print("Dziękujemy za grę!")
        break
    elif komenda == "graj":
        print("Rozpoczynamy rundę gry...")
    else:
        print("Nieznana komenda. Spróbuj ponownie.")
2. Logika gry – warunki

Warunki są niezbędne do podejmowania decyzji w grze. Na przykład, możemy sprawdzać, czy gracz wygrał, przegrał lub wykonał nieprawidłowy ruch.

# Prosty przykład logiki gry
tajna_liczba = 7
zgadniecie = int(input("Zgadnij liczbę od 1 do 10: "))

if zgadniecie == tajna_liczba:
    print("Gratulacje! Trafiłeś.")
elif zgadniecie < tajna_liczba:
    print("Za mało!")
else:
    print("Za dużo!")
3. Losowość w grach

Losowość jest często używana w grach, aby wprowadzić element nieprzewidywalności. W Pythonie możemy korzystać z modułu random, aby generować losowe liczby lub wybierać losowe elementy.

import random

# Generowanie losowej liczby
tajna_liczba = random.randint(1, 10)
print(f"Losowa liczba to: {tajna_liczba}")

# Losowy wybór elementu z listy
kierunki = ["góra", "dół", "lewo", "prawo"]
ruch = random.choice(kierunki)
print(f"Postać poruszyła się w kierunku: {ruch}")
4. Łączenie pętli, warunków i losowości

Tworząc grę tekstową, możemy połączyć pętle, warunki i losowość w celu stworzenia bardziej zaawansowanej logiki gry. Na przykład:

import random

tajna_liczba = random.randint(1, 10)
proby = 0

print("Zgadnij liczbę od 1 do 10. Masz 3 próby.")

while proby < 3:
    zgadniecie = int(input("Podaj swoją liczbę: "))
    proby += 1

    if zgadniecie == tajna_liczba:
        print("Gratulacje! Wygrałeś!")
        break
    elif zgadniecie < tajna_liczba:
        print("Za mało!")
    else:
        print("Za dużo!")

    if proby == 3:
        print(f"Przegrałeś! Tajna liczba to: {tajna_liczba}")
5. Zakończenie

W tej sekcji nauczyłeś się, jak wykorzystać pętle, warunki i losowość do stworzenia podstawowej logiki gry. Te umiejętności będą niezbędne w kolejnej części, gdzie zbudujemy interaktywną grę konsolową.

Interaktywna gra konsolowa – zgadywanie liczby

W tej części stworzymy interaktywną grę tekstową, w której użytkownik będzie zgadywał liczbę wylosowaną przez komputer. Gra wykorzysta elementy, takie jak losowość, pętle i warunki, aby zapewnić interakcję użytkownika z programem.

1. Zasady gry

Komputer losuje liczbę z określonego zakresu (np. od 1 do 100), a użytkownik ma określoną liczbę prób na jej odgadnięcie. Po każdej próbie gracz otrzymuje informację, czy jego liczba jest za mała, za duża, czy poprawna. Gra kończy się, gdy gracz zgadnie liczbę lub wykorzysta wszystkie próby.

2. Kod gry

Poniżej znajduje się pełny kod gry „Zgadywanie liczby”:

import random

def zgadywanie_liczby():
    print("Witaj w grze 'Zgadywanie liczby'!")
    print("Komputer wylosuje liczbę od 1 do 100. Twoim zadaniem jest ją odgadnąć.")
    print("Masz 10 prób. Powodzenia!")

    # Losowanie liczby
    tajna_liczba = random.randint(1, 100)
    proby = 0
    maks_proby = 10

    while proby < maks_proby:
        try:
            # Pobieranie liczby od użytkownika
            zgadniecie = int(input(f"\nPróba {proby + 1}/{maks_proby}. Podaj swoją liczbę: "))
            proby += 1

            # Sprawdzenie wyniku
            if zgadniecie == tajna_liczba:
                print(f"Gratulacje! Odgadłeś liczbę {tajna_liczba} w {proby} próbach!")
                break
            elif zgadniecie < tajna_liczba:
                print("Za mało! Spróbuj większej liczby.")
            else:
                print("Za dużo! Spróbuj mniejszej liczby.")
        except ValueError:
            print("Błąd: Proszę podać poprawną liczbę całkowitą.")

        # Sprawdzenie, czy gracz wykorzystał wszystkie próby
        if proby == maks_proby:
            print(f"Przegrałeś! Tajna liczba to: {tajna_liczba}")

# Wywołanie gry
zgadywanie_liczby()
3. Wyjaśnienie kodu

Kod składa się z kilku kluczowych elementów:

  • Losowanie liczby: Używamy funkcji random.randint() do wylosowania liczby z zakresu od 1 do 100.
  • Pętla: Pętla while pozwala użytkownikowi na wykonanie maksymalnie 10 prób.
  • Warunki: Instrukcje if sprawdzają, czy zgadywana liczba jest poprawna, za mała, czy za duża.
  • Obsługa błędów: Blok try-except zapobiega awariom programu w przypadku wprowadzenia niepoprawnych danych przez użytkownika (np. tekstu zamiast liczby).
4. Przykład działania gry

Przykład interakcji użytkownika z programem:

Witaj w grze 'Zgadywanie liczby'!
Komputer wylosuje liczbę od 1 do 100. Twoim zadaniem jest ją odgadnąć.
Masz 10 prób. Powodzenia!

Próba 1/10. Podaj swoją liczbę: 50
Za mało! Spróbuj większej liczby.

Próba 2/10. Podaj swoją liczbę: 75
Za dużo! Spróbuj mniejszej liczby.

Próba 3/10. Podaj swoją liczbę: 63
Za mało! Spróbuj większej liczby.

Próba 4/10. Podaj swoją liczbę: 68
Gratulacje! Odgadłeś liczbę 68 w 4 próbach!
5. Możliwe rozszerzenia gry

Oto kilka pomysłów na rozbudowę gry:

  • Dodanie opcji zmiany zakresu losowanych liczb (np. od 1 do 1000).
  • Dodanie poziomów trudności, które ograniczają liczbę prób (np. łatwy: 15 prób, trudny: 5 prób).
  • Zliczanie punktów gracza w zależności od liczby prób.
  • Zapisanie wyników do pliku, aby stworzyć tabelę najlepszych wyników.

Gra w „Zgadywanie liczby” to świetny sposób na praktyczne zastosowanie podstaw programowania w Pythonie. Możesz ją dowolnie modyfikować, aby dostosować do własnych potrzeb i pomysłów!

Gratulacje za ukończenie kursu Python dla początkujących!

Serdecznie gratulujemy ukończenia kursu i zdobycia solidnych podstaw programowania w Pythonie! Mamy nadzieję, że materiał był dla Ciebie wartościowy i inspirujący. Jeśli masz pomysły na kolejne kursy lub chciałbyś podzielić się swoją opinią, skontaktuj się z nami – Twoje zdanie jest dla nas bardzo ważne.
Możesz to zrobić poprzez formularz kontaktowy lub w tym wpisie.

Nie przegap nowości! Zapisz się do naszego newslettera, aby otrzymywać informacje o nowych kursach i materiałach edukacyjnych. Czekamy na Twoje sugestie i z przyjemnością pomożemy Ci rozwijać się w świecie programowania!



Spis Treści - darmowy kurs Python dla początkujących


Lekcja 1: Wprowadzenie do programowania
- Co to jest programowanie?
- Dlaczego warto uczyć się Pythona?
- Instalacja Python i wprowadzenie do edytorów (IDLE, VS Code).
Lekcja 2: Pierwszy program w Pythonie
- Składnia Pythona.
- Wyświetlanie tekstu (funkcja print).
- Komentarze i ich znaczenie.
Lekcja 3: Podstawowe typy danych
- Liczby: int, float.
- Ciągi znaków (stringi).
- Typ logiczny (boolean).
- Funkcja type.
Lekcja 4: Zmienne i operatory
- Deklaracja i przypisywanie zmiennych.
- Operatory arytmetyczne, porównania, logiczne.
Lekcja 5: Listy i krotki
- Tworzenie list i krotek.
- Indeksowanie, dodawanie, usuwanie elementów.
- Operacje na listach.
Lekcja 6: Słowniki i zbiory
- Tworzenie i operacje na słownikach.
- Iteracja po słownikach.
- Zbiory i ich zastosowania.
Lekcja 7: Instrukcje warunkowe
- Instrukcje if, elif, else.
- Operatory logiczne w praktyce.
Lekcja 8: Pętle
- Pętla for i while.
- Instrukcje break, continue, else w pętlach.
Lekcja 9: Funkcje
- Tworzenie i wywoływanie funkcji.
- Argumenty i wartości domyślne.
- Funkcje anonimowe (lambda).
Lekcja 10: Praca z plikami
- Otwieranie, czytanie i zapisywanie plików.
- Obsługa błędów przy pracy z plikami.
Lekcja 11: Podstawy programowania obiektowego
- Klasy i obiekty.
- Atrybuty i metody.
- Prosty projekt: Zarządzanie listą zadań.
Lekcja 12: Tworzenie prostego kalkulatora
- Łączenie funkcji i warunków.
- Obsługa błędów (try-except).
Lekcja 13: Zarządzanie plikami tekstowymi
- Program do przechowywania i wyszukiwania notatek w plikach.
Lekcja 14: Prosta gra tekstowa w Python
- Wprowadzenie do pętli i logiki gry.
- Interaktywna gra konsolowa, np. zgadywanie liczby.

Jeśli chciałbyś być poinformowany o następnych kursach to zapisz się do naszego newslettera: