pygame์ ์ด์ฉํ ๋ฅํผํ๊ธฐ ๊ฒ์์ ๋๋ค.
ํค๋ณด๋๋ฅผ ์ด์ฉํ์ฌ ์บ๋ฆญํฐ๋ฅผ ์์ง์ฌ์, ์ค์ ๋ ์๊ฐ ๋์ ๊ณ์ํด์ ๋จ์ด์ง๋ ๋ฅ์ ํผํ๋ ๊ฒ์์ ๋๋ค.
์ด์ ์ ๊ฒ์์ ์ ์ํด๋ณด๊ณ ์ถ์ด์ ๋ง๋ค์ด๋ณธ ์ต์ด์ ํ๋ก์ ํธ์๊ณ ,
์ฌ๋ฌ๊ฐ์ง pygame ํ๋ก์ ํธ ์ค ์ฒ์์ผ๋ก ๋ง๋ ์ต์ด์ ํ๋ก์ ํธ์ ๋๋ค.
์บ๋ฆญํฐ์ ์ด๋ฏธ์ง์ ๋ฐฐ๊ฒฝ์ ์ฌ์ง์ ๊ฐ์ ธ์ ๊ทธ๋ฆผํ์ผ๋ก ์ฌ์ด์ฆ ์กฐ์ ์ ํ์์ต๋๋ค.
์๋๋ ์ ์ฒด์ฝ๋์ ๋๋ค.
#ํ๋์์ ๋จ์ด์ง๋ ๋ฅ ํผํ๊ธฐ ๊ฒ์
#[์กฐ๊ฑด]
#1) ์บ๋ฆญํฐ๋ ํ๋ฉด ๊ฐ์ฅ ์๋์ ์์น, ์ข์ฐ๋ก ์ด๋๊ฐ๋ฅ
#2) ๋ฅ์ ํ๋ฉด ๊ฐ์ฅ ์์์ ๋จ์ด์ง, X์ขํ๋ ๋งค๋ฒ ๋๋ค์ผ๋ก ์ค์
#3) ์บ๋ฆญํฐ๊ฐ ๋ฅ์ ํผํ๋ฉด ๋ค์ ๋ฅ์ด ๋ค์ ๋จ์ด์ง
#4) ์บ๋ฆญํฐ์ ๋ฅ์ด ์ถฉ๋ํ๋ฉด ๊ฒ์์ด ์ข
๋ฃ
#5) FPS๋ 30์ผ๋ก ๊ณ ์
#[๊ฒ์์ด๋ฏธ์ง]
#๋ฐฐ๊ฒฝ : 480* 640(๊ฐ๋ก์ธ๋ก)
#์บ๋ฆญํฐ : 50*50
#๋ฅ : 50* 50
import pygame #pip install pygame์ผ๋ก ์ค์น
import random
pygame.init()#์ด๊ธฐํ
#ํ๋ฉดํฌ๊ธฐ์ค์ ๋ฐ ๊ธฐ์ด์ค์
screen_width = 480
screen_height = 640
screen = pygame.display.set_mode((screen_width,screen_height))
pygame.display.set_caption("DDong Pihagi~")
clock = pygame.time.Clock()
#์บ๋ฆญํฐ๋ถ๋ฌ์ค๊ธฐ
background = pygame.image.load("D:/0/์ ์ต/Programming/Python๊ณต๋ถ/Game/ddong/image/background.png")
character = pygame.image.load("D:/0/์ ์ต/Programming/Python๊ณต๋ถ/Game/ddong/image/rion.png")
character_size = character.get_rect().size
character_width = character_size[0]#๊ฐ๋กํฌ๊ธฐ
character_height = character_size[1]#์ธ๋กํฌ๊ธฐ
character_x_pos = (screen_width/2)-character_width/2 #ํ๋ฉด๊ฐ๋ก์ ์ ๋ฐํฌ๊ธฐ์ ํด๋นํ๋ ๊ณณ์ ์์น
character_y_pos = screen_height - character_height #ํ๋ฉด์ธ๋กํฌ๊ธฐ๊ฐ์ฅ์๋
#์ ๋ถ๋ฌ์ค๊ธฐ
enemy = pygame.image.load("Game/ddong/image/ddong.png")
enemy_size = enemy.get_rect().size #์ด๋ฏธ์งํฌ๊ธฐ๊ตฌํ๊ธฐ
enemy_width = enemy_size[0]#๊ฐ๋กํฌ๊ธฐ
enemy_height = enemy_size[1]#์ธ๋กํฌ๊ธฐ
enemy_x_pos = random.randint(0, screen_width - enemy_width) #ํ๋ฉด๊ฐ๋ก์ ์ ๋ฐํฌ๊ธฐ์ ํด๋นํ๋ ๊ณณ์ ์์น
enemy_y_pos = 0 #ํ๋ฉด์ธ๋กํฌ๊ธฐ๊ฐ์ฅ์๋
#์ด๋ํ ์ขํ
to_x =0
to_y = 0
#์ผ๋ฆญํฐ์๋
character_speed = 1
#ํฐํธ์ ์
game_font = pygame.font.Font(None, 40) #ํฐํธ๊ฐ์ฒด์์ฑ (ํฐํธ(๋ํดํธ๊ฐ), ํฌ๊ธฐ)
#๊ฒ์ ์ ํ์๊ฐ
total_time = 30
#์๊ฐ๊ณ์ฐ
start_ticks = pygame.time.get_ticks() #์์tick ๋ฐ๊ธฐ
#์ด๋ฒคํธ๋ฃจํ
running = True #๊ฒ์์คํ์ค์ธ๊ฐ
while running:
dt = clock.tick(30) #30ํ๋ ์
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
to_x -=character_speed
if event.key == pygame.K_RIGHT:
to_x += character_speed
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
to_x=0
character_x_pos += to_x* dt
enemy_y_pos += 10
if character_x_pos <0:
character_x_pos = 0
elif character_x_pos > screen_width - character_width:
character_x_pos = screen_width - character_width
if enemy_y_pos > screen_height :
enemy_y_pos = 0
enemy_x_pos = random.randint(0, screen_width - enemy_width)
#rect์ ๋ณด ์
๋ฐ์ดํธ
character_rect = character.get_rect()
character_rect.left = character_x_pos
character_rect.top = character_y_pos
enemy_rect = enemy.get_rect()
enemy_rect.left = enemy_x_pos
enemy_rect.top = enemy_y_pos
if character_rect.colliderect(enemy_rect): #๋ง๋๋ฉด ๊ฒ์์ข
๋ฃ
print("SSHHHHHIT!!")
running =False
#๊ฒ์์๊ฐ ๋ฐ ํ์ด๋จธ
elapsed_time = (pygame.time.get_ticks() - start_ticks) /1000
timer = game_font.render(str(int(total_time - elapsed_time)), True, (0,0,0))
#๋ง์ฝ ์๊ฐ์ด 0์ดํ๋ฉด ๊ฒ์์ข
๋ฃ
if total_time - elapsed_time <= 0:
print("time out")
running = False
#์คํฌ๋ฆฐ์ ๊ฐ์ฒด ๋ถ๋ฌ์ค๊ธฐ
screen.blit(background,(0,0)) #๋ฐฐ๊ฒฝ๊ทธ๋ฆฌ๊ธฐ
screen.blit(character,(character_x_pos,character_y_pos))#์บ๋ฆญํฐ๊ทธ๋ฆฌ๊ธฐ
screen.blit(enemy,(enemy_x_pos,enemy_y_pos))#์ ๊ตฐ๊ทธ๋ฆฌ๊ธฐ
screen.blit(timer,(10,10))
pygame.display.update()#๊ฒ์ํ๋ฉด๋ค์๊ทธ๋ฆฌ๊ธฐ
pygame.quit()
728x90
๋ฐ์ํ