Menu
CoddyTech

İki Raket

Coddy'nin Pygame ile Oyun Yap kursunda ders 31 / 41.

İki oyuncu tek bir klavyeyi paylaşır. Sol oyuncu W ve S tuşlarını, sağ oyuncu ise Yukarı ve Aşağı ok tuşlarını kullanır. Her bir raket, yalnızca yukarı ve aşağı hareket eden bir Rect'tir.

left = pygame.Rect(20, 160, 12, 80)
right = pygame.Rect(568, 160, 12, 80)

Harf tuşları küçük harfle pygame.K_w, pygame.K_s şeklindedir. Her iki oyuncunun da aynı anda tuşlara basılı tutabilmesi için dört tuşu da tek bir pygame.key.get_pressed() çağrısıyla oku.

Sepette yaptığın gibi, clamp_ip ile iki raketi de pencerenin içinde tut.

challenge icon

Görev

Kolay

Her oyuncu için bir raket ekle.

  1. Döngüden önce left = pygame.Rect(20, 160, 12, 80) ve right = pygame.Rect(568, 160, 12, 80) oluştur.
  2. left raketini W ve S tuşlarıyla 6 piksel yukarı veya aşağı, right raketini ise Yukarı ve Aşağı tuşlarıyla hareket ettir. İkisini de pencerenin içinde tut.
  3. left raketini mavi (80, 160, 255), right raketini kırmızı (235, 80, 80) renkte çiz.

“Oyna” düğmesine bas ve W ile Yukarı tuşlarına bas: iki raket de hareket eder. Ardından “Kontrol et” düğmesine bas.

Kendin dene

import pygame

pygame.init()
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pong")
clock = pygame.time.Clock()

ball = pygame.Rect(293, 193, 14, 14)
vx, vy = 5, 4

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    ball.x += vx
    ball.y += vy
    if ball.top <= 0 or ball.bottom >= 400:
        vy = -vy

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (255, 196, 0), ball)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()

Pygame ile Oyun Yap bölümündeki tüm dersler

Kendi başına pratik yap: Pygame playground