본문 바로가기
Python/Pygame

[Pygame] Python(파이썬)으로 비행기 게임만들기 - (1) 화면 색상 바꾸기

by 잭피 2021. 12. 24.

안녕하세요~ 잭코딩입니다!

파이썬의 pygame 모듈을 이용해서 게임을 만들어볼까요?  

오늘은 비행기게임 - (1) 화면 색상 바꾸기를 진행해볼게요


1. pygame 설치

pip install pygame

2. 기본 화면 구성하기

 

💡 해당 코드를 따라서 작성해보고 실행해보세요

 

import pygame

# 1. 게임 초기화
pygame.init()

# 2. 게임창 옵션 설정
size = [400, 900]
screen = pygame.display.set_mode(size)

title = "title"

pygame.display.set_caption(title)

# 3. 게임 내 필요한 설정
clock = pygame.time.Clock() # FPS를 위한 변수

color = (255,255,255)

# 4. 메인 이벤트
SB = 0
while SB == 0:

    # 4-1. FPS 설정
    clock.tick(5) # 1초에 5번 while문 반복
    
    # 4-2. 각종 입력 감지 
    for event in pygame.event.get():# 키보드나 마우스의 동작을 받아옴
        if event.type == pygame.QUIT: # 게임 종료
            SB = 1
    
    # 4-3. 입력, 시간에 따른 변화
    
    # 4-4. 그리기
    screen.fill(color)
    
    # 4-5. 업데이트
    pygame.display.flip()
    
# 5. 게임 종료 
pygame.quit()

2. 실습

(1) 게임창을 [500, 1000]으로 변경하고 실행해보세요 

Hint) size를 수정해보세요

 

(2) 게임을 실행시켰을 때, 이름을 "미사일 게임"으로 변경해보세요

Hint) title을 변경해보세요

 

(3) 0.5초 마다 배경화면이 검은색, 흰색이 반복되도록 변경해보세요 

Hint) 검은색 = (255, 255, 255), 흰색 = (0,0,0)

3. 실습 코드

(1) 정답 코드

size = [500, 1000]

(2) 정답 코드

title = "미사일 게임"

(3) 정답 코드

black = (0,0,0)
white = (255,255,255)
k = 0

while ~:
	k += 1
    if k % 2 == 0:
        color = black
    else:
        color = white

 

전체 정답 코드

# 1강

import pygame

# 1. 게임 초기화
pygame.init()

# 2. 게임창 옵션 설정
size = [400, 900]
screen = pygame.display.set_mode(size)

title = "미사일 게임"

pygame.display.set_caption(title)

# 3. 게임 내 필요한 설정
clock = pygame.time.Clock() # FPS를 위한 변수

black = (0,0,0)
white = (255,255,255)
k = 0

# 4. 메인 이벤트
SB = 0
while SB == 0:

    # 4-1. FPS 설정
    clock.tick(2) # 1초에 60번 while문 반복
    
    # 4-2. 각종 입력 감지 
    for event in pygame.event.get():# 키보드나 마우스의 동작을 받아옴
        if event.type == pygame.QUIT: # 게임 종료
            SB = 1
    
    # 4-3. 입력, 시간에 따른 변화
    k += 1
    if k % 2 == 0:
        color = black
    else:
        color = white
    
    # 4-4. 그리기
    screen.fill(color)
    
    # 4-5. 업데이트
    pygame.display.flip()
    
# 5. 게임 종료 
pygame.quit()

 

4. 심화과정

1초마다 배경화면이 빨간색, 초록색, 파란색이 반복되도록 변경해보세요

hint) 빨간색 = (255,0,0), 초록색 = (0,255,0), 파란색 = (0,0,255)

 

정답코드)

# 1강 - 심화과정

import pygame

# 1. 게임 초기화
pygame.init()

# 2. 게임창 옵션 설정
size = [400, 900]
screen = pygame.display.set_mode(size)

title = "미사일 게임"

pygame.display.set_caption(title)

# 3. 게임 내 필요한 설정
clock = pygame.time.Clock() # FPS를 위한 변수

black = (0,0,0)
white = (255,255,255)

red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)

colors = []
colors.append(red)
colors.append(green)
colors.append(blue)

k = 0

# 4. 메인 이벤트
SB = 0
while SB == 0:

    # 4-1. FPS 설정
    clock.tick(1) # 1초에 1번 while문 반복
    
    # 4-2. 각종 입력 감지 
    for event in pygame.event.get():# 키보드나 마우스의 동작을 받아옴
        if event.type == pygame.QUIT: # 게임 종료
            SB = 1
    
    # 4-3. 입력, 시간에 따른 변화
    k += 1
    if k % 3 == 0:
        color = colors[0]
    elif k % 3 == 1:
        color = colors[1]
    else:
        color = colors[2]
    
    # 4-4. 그리기
    screen.fill(color)
    
    # 4-5. 업데이트
    pygame.display.flip()
    
# 5. 게임 종료 
pygame.quit()

댓글