Menu
CoddyTech

Jatuhan Acak

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

Saat blok jatuh melewati bagian bawah, letakkan kembali di atas bagian atas agar jatuh lagi. Bagian atasnya melewati bagian bawah saat block.top > 360.

Agar permainan tidak terlalu mudah diprediksi, jatuhkan blok di tempat acak. Module random di Python memilih angka: random.randint(0, 460) adalah bilangan bulat dari 0 hingga 460, termasuk keduanya.

import random

if block.top > 360:
    block.y = -20
    block.x = random.randint(0, 460)

Mengapa 460? Lebar blok adalah 20, jadi nilai x sebesar 460 menempatkan sisi kanannya tepat di tepi jendela. Dan y = -20 menempatkannya tepat di atas jendela, sehingga blok masuk dari atas.

challenge icon

Tantangan

Mudah
  1. Tambahkan import random di bagian atas.
  2. Setelah blok jatuh, saat block.top > 360, atur block.y = -20 dan atur block.x menjadi random.randint(0, 460).

Coba sendiri

import pygame

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

basket = pygame.Rect(200, 330, 80, 16)
block = pygame.Rect(220, 0, 20, 20)

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

    keys = pygame.key.get_pressed()
    if keys[pygame.K_LEFT]:
        basket.x -= 8
    if keys[pygame.K_RIGHT]:
        basket.x += 8
    basket.clamp_ip(screen.get_rect())

    block.y += 3

    screen.fill((30, 30, 46))
    pygame.draw.rect(screen, (80, 160, 255), basket)
    pygame.draw.rect(screen, (235, 80, 80), block)
    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