Mini projekat: Igra Pong u Processing Python Mode
Lekcija 7 od 14
Python Processing početna: Povratak na hub | Prethodna lekcija: Interakcija
Šta pravimo?
Pravimo jednostavnu verziju igre Pong:
- Lopta se kreće po ekranu
- Igrač kontroliše palicu pomoću miša
- Lopta se odbija od zidova i palice
Korak 1 — Osnovne promenljive
# Lopta
ball_x = 300
ball_y = 200
dx = 4
dy = 3
ball_size = 20
# Palica
paddle_width = 100
paddle_height = 15
Savet: Možeš dodati više palica ili promeniti veličinu lopte za eksperiment.
Korak 2 — Setup funkcija
def setup():
size(600, 400)
Rezultat
Kreira se prozor za igru veličine 600×400.
Korak 3 — Crtanje i kretanje lopte i palice
def draw():
global ball_x, ball_y, dx, dy
background(30)
# Lopta
fill(255)
ellipse(ball_x, ball_y, ball_size, ball_size)
# Palica prati miš
rect(mouseX - paddle_width/2, height - 40,
paddle_width, paddle_height)
# Pomeranje lopte
ball_x += dx
ball_y += dy
# Odbijanje od levog i desnog zida
if ball_x < ball_size/2 or ball_x > width - ball_size/2:
dx = -dx
# Odbijanje od gornjeg zida
if ball_y < ball_size/2:
dy = -dy
# Sudar sa palicom
if (ball_y > height - 50 and
mouseX - paddle_width/2 < ball_x < mouseX + paddle_width/2):
dy = -dy
Rezultat
Lopta se kreće i odbija od zidova i palice. Palica prati miš.
Savet: Pokušaj da promeniš brzinu lopte i širinu palice za različite nivoe težine.
Dodavanje poena (bonus zadatak)
Dodaj promenljivu:
score = 0
I povećaj je svaki put kada lopta udari palicu, zatim prikaži:
text("Score: " + str(score), 20, 30)
Rezultat
Na ekranu se prikazuje rezultat kada lopta pogodi palicu.
Poređenje sa Java verzijom
Ista igra može se napraviti i u Java Processing-u:
□ Processing sa Javom — projektiLogika je identična, samo je sintaksa drugačija.
Šta smo naučili?
- Animaciju objekata
- Detekciju sudara
- Interakciju sa mišem
- Osnovnu logiku igre Pong
Savet: Eksperimentiši sa više lopti ili različitim brzinama za izazovniji mini projekat.