Menu
CoddyTech

Ekranda Kal

Coddy'nin Pygame ile Oyun Yap kursunda ders 7 / 40.

Sağ Tuşu yeterince uzun süre basılı tutarsan kare pencereden çıkar. İçeride tutmak için, onları hareket ettirdikten sonra x ve y değerlerini sınırla.

min(a, b) küçük olan sayıyı, max(a, b) ise büyük olanı verir. Birlikte, bir sayıyı iki sınır arasında tutarlar:

x = max(0, min(x, 480 - 40))

min(x, 440), x değerinin 440'ı aşmasını, max(0, ...) ise 0'ın altına düşmesini engeller. Neden 480 değil de 440? x karenin sol kenarıdır, bu yüzden sağ kenarı x + 40 konumundadır. 440'ta sağ kenar pencerenin kenarına değer.

Aynısı pencerenin yüksekliği için y değeri için de geçerlidir.

challenge icon

Görev

Kolay

Dört ok tuşu kontrolünden sonra ve dolgudan önce kareyi 480'e 360'lık pencerenin içinde tut: x değerini 0 ile 440, y değerini ise 0 ile 320 arasında sınırla.

Kendin dene

import pygame

pygame.init()
screen = pygame.display.set_mode((480, 360))
pygame.display.set_caption("Move the Square")
clock = pygame.time.Clock()

x, y = 220, 160

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

    keys = pygame.key.get_pressed()
    speed = 4
    if keys[pygame.K_SPACE]:
        speed = 8
    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

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

pygame.quit()
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

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

Kendi başına pratik yap: Pygame playground