elif와 else
Coddy Pygame 여정의 게임 창에서 배우는 Python 섹션에 포함된 레슨. 32개 중 12번째.
else는 조건이 거짓일 때 실행되는 두 번째 분기를 if에 추가합니다. "else if"의 줄임말인 elif는 그 사이에 조건을 더 추가합니다.
if moon_x < 200:
colour = (255, 170, 90)
elif moon_x < 440:
colour = (240, 230, 160)
else:
colour = (160, 190, 255)Python은 위에서부터 조건을 검사하고, 조건이 참인 첫 번째 분기를 실행한 뒤 나머지는 건너뜁니다. x가 100일 때 처음 두 조건이 모두 참이지만, 첫 번째 분기만 실행됩니다. else에는 조건이 없습니다. 위의 조건이 모두 참이 아닐 때 실행됩니다.
각각 별개의 if를 쓰면 동작이 다릅니다. 각각의 조건을 모두 검사합니다. if를 세 개 사용하면 x가 100인 달은 주황색으로 변한 다음, 두 번째 if에서 다시 노란색으로 변합니다.
여기서 colour는 튜플을 담는 변수입니다. 이 변수를 사용해 그려 보세요: pygame.draw.circle(screen, colour, (moon_x, moon_y), 50).
챌린지
중급달의 위치에 따라 달에 색을 입히세요. 변경 부분에서 키 입력을 처리한 다음에:
moon_x < 200이면colour를 주황색(255, 170, 90)으로 설정하세요.moon_x < 440이면 평소 색상인(240, 230, 160)으로 설정하세요.- 그렇지 않으면 파란색
(160, 190, 255)으로 설정하세요. colour를 사용해 달을 그리세요.
직접 해보기
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 플레이그라운드