MC, 2025
Ilustracja do artykułu: Kako ustvariti preprosto Python igro s kodo: Vodič za začetnike

Kako ustvariti preprosto Python igro s kodo: Vodič za začetnike

Python je ena izmed najbolj priljubljenih in enostavnih programskih jezikov za začetnike. Če želite naučiti programiranja, je ustvarjanje preprostih iger odličen način za razvoj vaših veščin. V tem članku bomo predstavili, kako ustvariti preprosto igro v Pythonu s kodo in nekaj primeri, ki vam bodo pomagali začeti!

1. Zakaj ustvariti preprosto igro v Pythonu?

Ustvarjanje preproste igre je odličen način za izboljšanje vaših programerskih spretnosti. Naučili se boste osnovnih konceptov programiranja, kot so zanke, pogojni stavki, funkcije in delo z uporabniškim vmesnikom. Poleg tega boste pridobili izkušnje pri delu z grafiko, zvokom in drugimi viri, ki so ključni za razvoj iger.

2. Kako pripraviti okolje za ustvarjanje igre?

Preden začnemo, moramo nastaviti okolje za razvoj. Za ustvarjanje iger v Pythonu je priporočljivo uporabiti knjižnico, kot je Pygame. Ta knjižnica omogoča enostavno ustvarjanje 2D iger in upravljanje z grafiko, zvokom ter vhodnimi napravami, kot so tipkovnica in miška.

Za začetek morate najprej namestiti knjižnico Pygame. To lahko storite z naslednjim ukazom:

pip install pygame

Ko je Pygame nameščen, lahko začnete ustvarjati svojo igro. Poglejmo, kako izgledajo prvi koraki pri ustvarjanju igre v Pythonu.

3. Ustvarjanje preproste igre: "Zgubljeni kvadrat"

Začnimo s preprosto igro, kjer igralec premika kvadrat po zaslonu. Ta igra bo uporabila Pygame za risanje kvadrata in premikanje z uporabo tipk na tipkovnici.

Prva stvar, ki jo moramo narediti, je ustvariti osnovno okno, ki bo prikazovalo naš kvadrat. Tu je osnovna koda:

import pygame
import sys

# Inicializiramo Pygame
pygame.init()

# Nastavimo dimenzije okna
width, height = 640, 480
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Zgubljeni kvadrat")

# Določimo barve
WHITE = (255, 255, 255)
RED = (255, 0, 0)

# Nastavimo začetno pozicijo kvadrata
x, y = width // 2, height // 2
speed = 5

# Glavna zanka igre
while True:
    screen.fill(WHITE)  # Napolnimo ozadje z belo

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # Premikanje kvadrata z tipkovnico
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    if keys[pygame.K_UP]:
        y -= speed
    if keys[pygame.K_DOWN]:
        y += speed

    # Risanje kvadrata
    pygame.draw.rect(screen, RED, (x, y, 50, 50))

    # Posodobimo zaslon
    pygame.display.update()
    pygame.time.Clock().tick(60)

Ta koda ustvari preprosto igro, kjer lahko premikate rdeč kvadrat z uporabo smernih tipk na tipkovnici. Okno igre se nenehno osveži, kar omogoča tekoče premikanje kvadrata.

4. Dodajanje ovir v igro

Zdaj, ko imamo osnovno igro, dodajmo nekaj ovir. Oviri bodo naključno generirani pravokotniki, ki se bodo pojavili na zaslonu. Če bo igralec trčil v oviro, se igra konča. Poglejmo, kako dodamo to funkcionalnost:

import random

# Funkcija za ustvarjanje ovir
def create_obstacle():
    x = random.randint(0, width - 50)
    y = random.randint(0, height - 50)
    return pygame.Rect(x, y, 50, 50)

# Ustvarimo seznam ovir
obstacles = [create_obstacle() for _ in range(5)]

# Glavna zanka igre
while True:
    screen.fill(WHITE)  # Napolnimo ozadje z belo

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # Premikanje kvadrata z tipkovnico
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    if keys[pygame.K_UP]:
        y -= speed
    if keys[pygame.K_DOWN]:
        y += speed

    # Risanje kvadrata
    player_rect = pygame.draw.rect(screen, RED, (x, y, 50, 50))

    # Risanje ovir
    for obstacle in obstacles:
        pygame.draw.rect(screen, (0, 255, 0), obstacle)

    # Preverimo, če je igralec trčil v oviro
    for obstacle in obstacles:
        if player_rect.colliderect(obstacle):
            print("Konec igre!")
            pygame.quit()
            sys.exit()

    # Posodobimo zaslon
    pygame.display.update()
    pygame.time.Clock().tick(60)

Ta koda ustvarja naključne ovire in preverja, ali je igralec trčil v katero od njih. Če se to zgodi, se igra konča, in prikaže se sporočilo "Konec igre!".

5. Dopolnjevanje igre z rezultatom

Da bi igro še bolj zabavali, dodajmo števec, ki bo spremljal, koliko časa je igralec preživel brez trčenja v ovire. Vsakič, ko igralec uspešno preživi 10 sekund brez trčenja, bomo povečali rezultat.

# Spremenljivka za rezultat
score = 0
start_time = pygame.time.get_ticks()

# Glavna zanka igre
while True:
    screen.fill(WHITE)  # Napolnimo ozadje z belo

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # Premikanje kvadrata z tipkovnico
    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        x -= speed
    if keys[pygame.K_RIGHT]:
        x += speed
    if keys[pygame.K_UP]:
        y -= speed
    if keys[pygame.K_DOWN]:
        y += speed

    # Risanje kvadrata
    player_rect = pygame.draw.rect(screen, RED, (x, y, 50, 50))

    # Risanje ovir
    for obstacle in obstacles:
        pygame.draw.rect(screen, (0, 255, 0), obstacle)

    # Preverimo, če je igralec trčil v oviro
    for obstacle in obstacles:
        if player_rect.colliderect(obstacle):
            print("Konec igre! Rezultat:", score)
            pygame.quit()
            sys.exit()

    # Posodobitev rezultata na podlagi časa
    if pygame.time.get_ticks() - start_time >= 10000:  # Če je minilo 10 sekund
        score += 1
        start_time = pygame.time.get_ticks()

    # Prikaz rezultata na zaslonu
    font = pygame.font.SysFont(None, 36)
    score_text = font.render(f"Rezultat: {score}", True, (0, 0, 0))
    screen.blit(score_text, (10, 10))

    # Posodobimo zaslon
    pygame.display.update()
    pygame.time.Clock().tick(60)

Ta koda spremlja čas in povečuje rezultat za vsakih 10 sekund, ki jih igralec preživi brez trčenja v ovire. Rezultat je prikazan v zgornjem levem kotu zaslona.

Zaključek

To je bila preprosta Python igra, ki vam omogoča, da se naučite osnov programiranja iger s Pygame. S temi osnovami lahko začnete ustvarjati lastne igre, ki vključujejo premikanje objektov, interakcijo s tipkovnico in spremljanje rezultatov. Upam, da ste uživali v tem vodiču in da boste zdaj z veseljem ustvarjali svoje igre v Pythonu!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: