And, or
Fa parte della sezione Python in una finestra di gioco del percorso Pygame di Coddy. Lezione 13 di 32.
or unisce due condizioni ed è vero quando almeno una delle due è vera. and è vero solo quando sono vere entrambe.
if keys[pygame.K_LEFT] or keys[pygame.K_a]:
moon_x = moon_x - 4
if keys[pygame.K_RIGHT] and moon_x < 580:
moon_x = moon_x + 4Il primo if sposta la luna a sinistra mentre si tiene premuto Left o A: funziona uno dei due tasti. Il secondo la sposta a destra solo mentre si tiene premuto Right e la luna si trova a sinistra di x 580, quindi si ferma prima del bordo della finestra.
not trasforma True in False: not keys[pygame.K_LEFT] è vero mentre Left non è premuto.
Sfida
MedioModifica i due controlli dei tasti:
- Tenendo premuto A, la luna si sposta anche a sinistra, come con il tasto Sinistra. Usa
or. - Il tasto Destra sposta la luna solo mentre
moon_x < 580, quindi si ferma a x 580. Usaand.
Provalo tu
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# Imposta tutto qui, prima del ciclo di gioco.
moon_x = 320
moon_y = 240
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# Apporta le modifiche qui, una volta per fotogramma.
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
moon_x = moon_x - 4
if keys[pygame.K_RIGHT]:
moon_x = moon_x + 4
screen.fill((20, 24, 48))
# Disegna qui, dopo aver riempito lo schermo.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.display.flip()
clock.tick(60)
pygame.quit()
Tutte le lezioni di Python in una finestra di gioco
Esercitati da solo: Playground Pygame