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,30)

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
running=True
f_count=0
fake_count=0
last_time=0

while running:
    #get_ticks()는 밀리초(ms)단위로 pygame 실행 후 지난 시간을 가져옴
    current_time=pygame.time.get_ticks()
    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)

    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

            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)
    
    t_text=font.render(f'time(ms): {current_time}', True, (0,0,0))
    t_text_rect=t_text.get_rect(topright=(w-10,50))
    screen.blit(t_text,t_text_rect)
    
    if current_time-last_time>5000:
        fake_count+=1
        last_time=current_time
        
    a=font.render(f'fake_count: {fake_count}', True, (20,20,20))
    a_r=a.get_rect(topright=(w-10,70))
    screen.blit(a,a_r)
    
    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()

