# import time
# import pygame # 1. pygame 선언
# pygame.init() # 2. pygame 초기화
#
# # 3. pygame에 사용되는 전역변수 선언
# #Red Green Blue
# WHITE = (255, 255, 255)
# size = [400, 300]
# screen = pygame.display.set_mode(size)
#
# done = False # 게임이 끝났는지 저장하는변수
# clock = pygame.time.Clock()
#
# # pygame에 사용하도록 비행기 이미지를 호출
# airplane = pygame.image.load('plane.png')
# airplane = pygame.transform.scale(airplane, (10, 10))
#
# # 4. pygame 무한루프
# def runGame():
# global done, airplane
# x = 20
# y = 20
# dx=10
# dy=10
#
# while not done:
# clock.tick(10)
# screen.fill(WHITE)
#
# for event in pygame.event.get():
# if event.type == pygame.QUIT:
# done = True
#
# # 방향키 입력에 대한 이벤트 처리
# if event.type == pygame.KEYDOWN: # 키보드가 눌렸다면
# if event.key == pygame.K_UP:
# if y!=10 :
# y-=10
#
# elif event.key == pygame.K_DOWN:
# if y!=290:
# y += dy
#
# elif event.key == pygame.K_LEFT:
# if x!=10 :
# x=x-dx
# else :
# if x!=390 :
# x=x+dx
# if event.type == pygame.KEYDOWN:
# if event.key == pygame.K_LEFT:
# dx = -5
# elif event.key == pygame.K_RIGHT:
# while() == True :
# person_dx = 5
# if event.key == pygame.KEYUP:
# break
# elif event.type == pygame.KEYUP:
# if event.key == pygame.K_LEFT :
# dx=0
# elif event.key == pygame.K_RIGHT :
# dx=0
#
#
# screen.blit(airplane, (x, y)) # x,y에 비행기그림을 다시그려라
# pygame.display.update()
#
# runGame()
# pygame.quit()
import pygame
import random
pygame.init()
Black = (0,0,0)
size = [600,600]
screen = pygame.display.set_mode(size)
done = False
clock = pygame.time.Clock()
def runGame() :
bomb_image = pygame.image.load('nuclear-bomb.png')
bomb_image = pygame.transform.scale(bomb_image, (50,50))
bombs = []
for i in range(5) :
rect = pygame.Rect(bomb_image.get_rect())
rect.left = random.randint(0, size[0])
rect.top = -100
dy = random.randint(3, 9)
bombs.append({'rect':rect, 'dy':dy})
person_image = pygame.image.load('standing-up-man-.png')
person_image = pygame.transform.scale(person_image, (100, 100))
person = pygame.Rect(person_image.get_rect())
person.left = size[0] // 2 - person.width // 2
person.top = size[1] - person.height
person_dx = 0
person_dy = 0
for bomb in bombs :
if bomb['rect'].colliderect(person) : #폭탄이 플레이어와 충돌했다면
done = True # 게임이끝났다고 표시한다
screen.blit(bomb_image, bomb['rect'])
global done
while not done:
clock.tick(30)
for event in pygame.event.get() :
if event.type == pygame.QUIT :
done = True
break
elif event.type == pygame.KEYDOWN : # 키보드가 눌리는 이벤트 발생시
if event.key == pygame.K_LEFT : # 왼쪽방향키가 눌렸다면,
person_dx = -5
elif event.key == pygame.K_RIGHT :
person_dx = 5
elif event.type == pygame.KEYUP : # 키보드가 떼지는 이벤트 발생시
if event.key == pygame.K_LEFT :
person_dx = 0
elif event.key == pygame.K_RIGHT :
person_dx = 0
for bomb in bombs:
bomb['rect'].top + bomb['dy']
if bomb['rect'].top > size[1] :
bombs.remove(bomb)
rect = pygame.Rect(bomb_image.get_rect())
rect.top = -100
dy = random.randint(3, 9)
bombs.append({'rect':rect, 'dy':dy})
person.left = person.left + person_dx
if person.left < 0 :
person.left = 0
elif person.left > size[0] :
person.left = size[0]
for bomb in bombs :
if bomb['rect'].colliderect(person) : done = True
screen.blit(bomb_image, bomb['rect'])
pygame.display.update()
screen.fill(Black)
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
pygame.display.update()
runGame()
pygame.quit()top of page

실제 작동 상태를 확인하려면 라이브 사이트로 이동하세요.
20250917
20250917
댓글 0개
좋아요
댓글(0)
더 이상 게시물에 대한 댓글 기능이 지원되지 않습니다. 자세한 사항은 사이트 소유자에게 문의하세요.
bottom of page


