def make_img(path,scale,center):
    img=pygame.image.load(path)
    img=pygame.transform.scale(img,scale)
    rect=img.get_rect(center=center)
    return img,rect

def draw_img(img,rect):
    screen.blit(img,rect)

import pygame
pygame.init()

w,h=680,800
screen=pygame.display.set_mode((w,h))
pygame.display.set_window_position((1200,80))
pygame.display.set_caption('coll')
clock=pygame.time.Clock()
font=pygame.font.SysFont(None,50)	#기본글꼴(None) 50의 크기로 폰트를 만들자

fly_img,fly_rect=make_img(r"C:\Users\sec\Desktop\pygame\images\PNG\Sprites\Rockets\spaceRockets_003.png",(60,90),(w//2,h-50))
enemy_img1,enemy_rect1=make_img(r"C:\Users\sec\Desktop\pygame\images\PNG\Sprites\Ships\spaceShips_001.png",(30,40),(w//2,50))
enemy_img2,enemy_rect2=make_img(r"C:\Users\sec\Desktop\pygame\images\PNG\Sprites\Ships\spaceShips_002.png",(30,40),(w//2-60,50))
enemy_img3,enemy_rect3=make_img(r"C:\Users\sec\Desktop\pygame\images\PNG\Sprites\Ships\spaceShips_003.png",(30,40),(w//2+60,50))

enemy_lists=[(enemy_img1,enemy_rect1),(enemy_img2,enemy_rect2),(enemy_img3,enemy_rect3)]
game_over=False		#gameover flag 추가
f_count=0
running=True

while running:
    f_count+=1
    keys=pygame.key.get_pressed()
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
        if event.type==pygame.KEYDOWN:
            if event.key==pygame.K_ESCAPE:
                running=False
            if event.key==pygame.K_r and game_over:
                game_over=False
                fly_rect.center=(w//2,h-50)
                enemy_rect1.center=(w//2,50)
                enemy_rect2.center=(w//2-60,50)
                enemy_rect3.center=(w//2+60,50)
    #game_over가 아닌 상태일 때만 게임 동작
    if not game_over:
        if keys[pygame.K_LEFT]:
            fly_rect.x-=3
        if keys[pygame.K_RIGHT]:
            fly_rect.x+=3
        if fly_rect.left<0:
            fly_rect.right=w
        if fly_rect.right>w:
            fly_rect.x=0

        for i,r in enemy_lists:
            r.y+=3
            if r.top>h:
                r.bottom=0
            #적과 충돌하면, game_over를 T로 만들고, 게임 오버 글자 출력
            if fly_rect.colliderect(r):
                game_over=True

    screen.fill((255,255,255))
    f_text=font.render(f'Frame: {f_count}', True, (0,0,0))
    f_text_rect=f_text.get_rect(topright=(w-10,10))
    screen.blit(f_text,f_text_rect)
    draw_img(fly_img,fly_rect)
    for i,r in enemy_lists:
        draw_img(i,r)
    if game_over:
        text=font.render('Game OVER',True,(255,0,0))
        text_rect=text.get_rect(center=(w//2,h//2))
        screen.blit(text,text_rect)
        
        restart=font.render('press R',True,(0,255,0))
        restart_rect=restart.get_rect(center=(w//2,h//2+60))
        screen.blit(restart,restart_rect)

    pygame.display.flip()
    clock.tick(60)
pygame.quit()
