Menu
CoddyTech

Tetap di Layar

Pelajaran 7 dari 40 dalam kursus Buat Game dengan Pygame di Coddy.

Tahan tombol Right cukup lama, lalu persegi akan keluar dari jendela. Agar persegi tetap berada di dalam, batasi x dan y setelah kamu mengubah nilainya.

min(a, b) menghasilkan angka yang lebih kecil dan max(a, b) menghasilkan angka yang lebih besar. Jika digabungkan, keduanya menjaga angka di antara dua batas:

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

min(x, 440) mencegah x melewati 440, dan max(0, ...) mencegahnya kurang dari 0. Mengapa 440, bukan 480? x adalah sisi kiri persegi, jadi sisi kanannya berada di x + 40. Pada 440, sisi kanan menyentuh tepi jendela.

Hal yang sama berlaku untuk y, dengan tinggi jendela.

challenge icon

Tantangan

Mudah

Setelah empat pemeriksaan tombol panah dan sebelum mengisi layar, pastikan persegi tetap berada di dalam jendela berukuran 480 kali 360: batasi x dari 0 hingga 440 dan y dari 0 hingga 320.

Coba sendiri

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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Buat Game dengan Pygame

Latihan sendiri: Playground Pygame