import pygame
import random
from pygame import locals

pygame.init()  # 初始化
# 创建一个窗口
screen = pygame.display.set_mode((1000, 600))
pygame.display.set_caption("悟空酷跑")
FPS = pygame.time.Clock()  # pygame时钟,控制游戏速度(帧数)
# 载入图片
background = pygame.image.load('bg.png')    # 背景
road = pygame.image.load('road.png')      # 路
stone = pygame.image.load('stone.png')      # 石头
cacti = pygame.image.load('cacti.png')      # 仙人掌
bush = pygame.image.load('bush.png')      # 灌木丛
hero1 =  pygame.image.load('hero1.png')
hero2 =  pygame.image.load('hero2.png')
hero3 =  pygame.image.load('hero3.png')
hero4 =  pygame.image.load('hero4.png')
hero5 =  pygame.image.load('hero5.png')
hero = [hero1,hero2,hero3,hero4,hero5]
index = 0 
y=400
jumpstate="running"
t=30
obs=[stone,cacti,bush]   
obstacle=random.choice(obs)
rect=obstacle.get_rect()
rect.x=1000
rect.y=500-rect.height
while True:
    for event in pygame.event.get():
        if event.type == locals.QUIT:
            # 接收到退出事件后退出程序
            exit()
        if event.type == locals.KEYDOWN:
            if jumpstate=="running":
                if event.key == locals.K_SPACE:
                    jumpstate="up"
    if jumpstate=="up":
        if t >0:
            y-=t 
            t-=2
        else:
            jumpstate="down"
    if jumpstate=="down":
        if t<=30:
            y+=t
            t+=2
        else:
            jumpstate="running"
            t=30
    wukong=hero[index]
    if jumpstate=="running":
        index+=1
        if index>=5:
            index=0
    
    
    rect.x-=10  
    if rect.x<0:
        rect.x=1000     


    # 将背景图画上去
    screen.blit(background, (0, 0))
    screen.blit(road, (0, 500))
    screen.blit(wukong, (150, y))
    screen.blit(obstacle,(rect.x,rect.y))
    # 刷新画面
    pygame.display.update()
    FPS.tick(60)