Menu
CoddyTech

Cadute casuali

Lezione 11 di 40 del corso Crea giochi con Pygame di Coddy.

Quando il blocco cade oltre il bordo inferiore, rimettilo sopra il bordo superiore in modo che cada di nuovo. Il suo bordo superiore ha superato quello inferiore quando block.top > 360.

Per rendere il gioco meno prevedibile, fallo cadere in un punto casuale. Il modulo random di Python sceglie i numeri: random.randint(0, 460) è un numero intero da 0 a 460, estremi inclusi.

import random

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

Perché 460? Il blocco è largo 20, quindi un valore x pari a 460 porta il suo lato destro al bordo della finestra. E y = -20 lo posiziona appena sopra la finestra, così scivola dentro dall’alto.

challenge icon

Sfida

Facile
  1. Aggiungi import random in cima.
  2. Dopo che il blocco cade, quando block.top > 360, imposta block.y = -20 e block.x su random.randint(0, 460).

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Crea giochi con Pygame

Esercitati da solo: Playground Pygame