Rozdział 9: Budujemy Nyan Cata! — Część 1: Kot na ekranie 🐱

Zaczynamy budować grę! Od tego momentu każdy rozdział dodaje nowy element.

Przygotowanie

cd ~/projekty/nyan-cat-runner
source venv/bin/activate

Otwieramy nasz plik gry

nano src/nyan_cat.py

Skasuj wszystko co tam jest (Ctrl+K kasuje linie, powtarzaj aż plik będzie pusty) i wpisz ten kod:

#!/usr/bin/env python3
"""
NYAN CAT RUNNER
Gra terminalowa - biegający kot zbiera gwiazdki!
"""
import curses
import time

def main(stdscr):
    # Ukryj kursor
    curses.curs_set(0)

    # Pobierz rozmiar terminala
    height, width = stdscr.getmaxyx()

    # Pozycja kota (zaczynamy w lewej części ekranu, na "podłodze")
    cat_x = 5
    cat_y = height - 6  # 6 linii od dołu (bo kot ma kilka linii + podłoga)

    # Rysuj kota!
    cat_frames = [
        "  /\\_/\\  ~~~~~",
        " ( o.o )  ~~~~",
        "  > ^ <  ~~~~~",
        " /|   |\\ ~~~~~",
        "(_|   |_) ~~~~",
    ]

    # Wyczyść ekran
    stdscr.clear()

    # Rysuj podłogę
    floor_y = height - 2
    stdscr.addstr(floor_y, 0, "=" * (width - 1))

    # Rysuj kota
    for i, line in enumerate(cat_frames):
        stdscr.addstr(cat_y + i, cat_x, line)

    # Tytuł
    title = "=== NYAN CAT RUNNER ==="
    stdscr.addstr(0, (width - len(title)) // 2, title)
    stdscr.addstr(1, (width - 30) // 2, "Naciśnij dowolny klawisz...")

    # Odśwież ekran i czekaj na klawisz
    stdscr.refresh()
    stdscr.getch()

# Uruchom grę
curses.wrapper(main)

Zapisz (Ctrl+O, Enter, Ctrl+X).

Co tu się dzieje? Wyjaśnienie!

Uruchom grę!

python3 src/nyan_cat.py

Widzisz kota! 🎉 Naciśnij dowolny klawisz żeby wyjść.

💡 Jeśli coś poszło nie tak i terminal wygląda dziwnie, wpisz komendę reset — przywróci go do normy.

🏆 Wyzwanie

  1. Zmień wygląd kota — narysuj własnego! (edytuj cat_frames)
  2. Zmień pozycję kota (np. bardziej na środku)
  3. Dodaj napis na dole ekranu, np. “Wersja 0.1”
  4. Uruchom grę i sprawdź czy wszystko wygląda OK