diff --git a/my_game.py b/my_game.py
index 2f7ef6e..f18c1d9 100644
--- a/my_game.py
+++ b/my_game.py
@@ -2,6 +2,22 @@ import pygame
 from pygame import locals
 import random
 
+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
+
+gamemode=True
+
+
+
+
+
+
+
 class Gge(pygame.sprite.Sprite):
     def __init__(self,image1,image2,image3):
         super().__init__()
@@ -46,60 +62,68 @@ while True:
             if jumpState == "runing":
                 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 = "runing"
-            t =30
-    
-    # 悟空造型
-    wukong = hero[index]
+     # 悟空造型
+    wukong = Player(hero[index])
     if jumpState == "runing":       # 跑步状态下
         index += 1
         if index >= 5:
             index = 0
-    # 将背景图画上去
-    screen.blit(background, (beside_x, 0))     # 远处背景
-    screen.blit(road, (road_x, 500))     # 路
-    screen.blit(wukong, (150, y))     # 悟空
-
-    beside_x-=3
-    road_x-=8
-
-    if road_x<-1000:
-        road_x=0
-    if beside_x<-1000:
-        beside_x=0
-
-    time +=1
-    if time>=60:
-        time=0
-        num=random.randint(0,50)
-        if num>20:
-            obstacle = Gge(bush, stone, cacti)
-            Gge_list.add(obstacle)
-    for sprite in Gge_list:
-        sprite.rect.x-=8
-        screen.blit(sprite.image,(sprite.rect.x,sprite.rect.y))
-        if sprite.rect.x<=0-sprite.rect.width:
-            sprite.kill()
-
 
+    if gamemode == 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
+        
     
+        # 将背景图画上去
+        screen.blit(background, (beside_x, 0))     # 远处背景
+        screen.blit(road, (road_x, 500))     # 路
+        screen.blit(wukong.image, (150, y))     # 悟空
+
+        beside_x-=3
+        road_x-=8
+
+        if road_x<-1000:
+            road_x=0
+        if beside_x<-1000:
+            beside_x=0
+
+        time +=1
+        if time>=60:
+            time=0
+            num=random.randint(0,50)
+            if num>20:
+                obstacle = Gge(bush, stone, cacti)
+                Gge_list.add(obstacle)
+        for sprite in Gge_list:
+            sprite.rect.x-=8
+            screen.blit(sprite.image,(sprite.rect.x,sprite.rect.y))
+            if sprite.rect.x<=0-sprite.rect.width:
+                sprite.kill()
+
+            if pygame.sprite.collide_rect(wukong,sprite):
+                gameover=pygame.image.load("gameover.png")
+                screen.blit(gameover,(400,200))
+                gamemode = False
+
+        
 
 
 
 
 
-    # 刷新画面
-    pygame.display.update()
-    FPS.tick(60)
\ No newline at end of file
+        # 刷新画面
+        pygame.display.update()
+        FPS.tick(60)
\ No newline at end of file