and, or
Coddy Pygame 여정의 게임 창에서 배우는 Python 섹션에 포함된 레슨. 32개 중 13번째.
or는 두 조건을 연결하며, 그중 하나 이상이 참이면 참입니다. and는 두 조건이 모두 참일 때만 참입니다.
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 + 4첫 번째 if는 Left 또는 A를 누르고 있는 동안 달을 왼쪽으로 이동합니다. 어느 키를 눌러도 됩니다. 두 번째는 Right를 누르고 있고 달이 x 580의 왼쪽에 있을 때만 달을 오른쪽으로 이동하므로, 창 가장자리에 닿기 전에 멈춥니다.
not은 True를 False로 바꿉니다. not keys[pygame.K_LEFT]는 Left 키를 누르지 않고 있을 때 참입니다.
챌린지
중급두 키 검사를 변경하세요:
- A 키를 누르고 있어도 왼쪽 키처럼 달이 왼쪽으로 이동합니다.
or를 사용하세요. - 오른쪽 키는
moon_x < 580일 때만 달을 이동시키므로, x 580에서 멈춥니다.and를 사용하세요.
직접 해보기
import pygame
pygame.init()
screen = pygame.display.set_mode((640, 480))
pygame.display.set_caption("Night Sky")
clock = pygame.time.Clock()
# 게임 루프가 시작되기 전에 여기서 필요한 것들을 설정하세요.
moon_x = 320
moon_y = 240
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]:
moon_x = moon_x - 4
if keys[pygame.K_RIGHT]:
moon_x = moon_x + 4
screen.fill((20, 24, 48))
# 화면을 채운 후 여기서 그리세요.
pygame.draw.circle(screen, (240, 230, 160), (moon_x, moon_y), 50)
pygame.display.flip()
clock.tick(60)
pygame.quit()
게임 창에서 배우는 Python의 모든 레슨
직접 연습해 보세요: Pygame 플레이그라운드