diff --git a/my_game.py b/my_game.py
index d29ea50..61c403c 100644
--- a/my_game.py
+++ b/my_game.py
@@ -11,7 +11,13 @@ class Block(pygame.sprite.Sprite):
       self.rect=self.image.get_rect()
       self.rect.x=1000
       self.rect.y=500-self.rect.height
-# 创建一个窗口
+class Player(pygame.sprite.Sprite):
+    def _init_(self,image):
+        super()._init_()
+        self.image=image
+        self.rect=self.image.get_rect()
+        self.rect.x=150
+        self.rect.y=400# 创建一个窗口
 screen = pygame.display.set_mode((1000, 600))
 FPS = pygame.time.Clock()  # pygame时钟,控制游戏速度(帧数)
 pygame.display.set_caption("悟空酷跑")
@@ -32,8 +38,9 @@ jumpState = "runing"
 t = 30
 bg_x=0
 road_x=0
-obstacle = Block(bush,cacti,stone)
-
+gamestate=True
+#obstacle = Block(bush,cacti,stone)
+block_list=pygame.sprite.Group()
 
 while True:
     for event in pygame.event.get():
@@ -60,27 +67,60 @@ while True:
             t =30
     
     # 悟空造型
-    wukong = hero[index]
+    wukong = Player(hero[index])
     if jumpState == "runing":       # 跑步状态下
         index += 1
         if index >= 5:
             index = 0
-    bg_x-=1
-    if bg_x<=-1000:
-        bg_x=0
+    if gamestate==True:
+        if jumpState=="up":
+            if t>0:
+                y-=t
+                wukong.rect.y=y
+                t-=2
+            else:
+                jumpState="down"
+        if jumpState=="down":
+            if t<=30:
+                y+=t
+                wukong.rect.y=y
+                t+=2
+            else:
+                jumpState="runing"
+                t=30
+        bg_x-=1
+        if bg_x<=-1000:
+            bg_x=0
     # 将背景图画上去
-    screen.blit(background, (bg_x, 0))     # 远处背景
-    road_x-=8
-    if road_x<=-1000:
-        road_x=0
-    screen.blit(road, (road_x, 500))     # 路
-    screen.blit(wukong, (150, y))     # 悟空
+        screen.blit(background, (bg_x, 0))     # 远处背景
+        road_x-=8
+        if road_x<=-1000:
+            road_x=0
+        screen.blit(road, (road_x, 500))     # 路
+        screen.blit(wukong, (150, y))     # 悟空
 
-    if obstacle.rect.x <= 0-obstacle.rect.width:      # 障碍物消失
+        if obstacle.rect.x <= 0-obstacle.rect.width:      # 障碍物消失
         # 创建障碍物对象
-        obstacle = Block(bush,stone,cacti)       
-    obstacle.rect.x -= 8
-    screen.blit(obstacle.image, (obstacle.rect.x, obstacle.rect.y)) 
+            obstacle = Block(bush,stone,cacti)       
+        obstacle.rect.x -= 8
+        obstacle.draw()
+        time+=1
+        if time>=60:
+            r=random.randint(0,100)
+            if r>40:
+                obstacle=Block(bush,cacti,stone)
+                block_list.add(obstacle)
+            time=0
+        for prop in block_list:
+            prop.rect.x-=8
+            screen.blit(obstacle.image, (obstacle.rect.x, obstacle.rect.y)) 
+            if prop.rect.x<=0-prop.rect.width:
+                prop.kill()
+            if pygame.sprite.collide_rect(wukong,sprite):
+                gameover=pygame.image.load("gameover.png")
+                screen.blit(gameover,(400,200))
+                gamestate=False
+        print(len(block_list))
     # 刷新画面
-    pygame.display.update()
-    FPS.tick(60)
\ No newline at end of file
+        pygame.display.update()
+        FPS.tick(60)
\ No newline at end of file