From bc0c4549dcdff44816f2ee51c1e2ecf7b46b24e1 Mon Sep 17 00:00:00 2001
From: BellCodeEditor <bellcode_dev@bell.ai>
Date: Sat, 13 Jan 2024 16:31:13 +0800
Subject: [PATCH] save project

---
 my_game.py | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 68 insertions(+), 32 deletions(-)

diff --git a/my_game.py b/my_game.py
index 80e84ff..1e71c96 100644
--- a/my_game.py
+++ b/my_game.py
@@ -13,6 +13,7 @@ road = pygame.image.load('road.png')      # 路
 stone = pygame.image.load('stone.png')      # 石头
 cacti = pygame.image.load('cacti.png')      # 仙人掌
 bush = pygame.image.load('bush.png')      # 灌木丛
+font=pygame.font.Font("STKAITI.TTF",21)
 hero = [pygame.image.load('hero1.png'),
         pygame.image.load('hero2.png'),
         pygame.image.load('hero3.png'),
@@ -29,11 +30,24 @@ class Block(pygame.sprite.Sprite):
         self.rect=self.image.get_rect()
         self.rect.x=1000
         self.rect.y=500-self.rect.height
-wote=Block(stone,bush,cacti)
+        self.score=1
+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
+block_list=pygame.sprite.Group()
+time=0
 road_x=0
 bg_x=0
+c=True
+score=0
+speed=8
 
 while True:
+    speed=8+score//3
     for event in pygame.event.get():
         if event.type == locals.QUIT:
             # 接收到退出事件后退出程序
@@ -42,38 +56,60 @@ while True:
             if jump=="runing":
                 if event.key==locals.K_SPACE:
                     jump="up"
-    if jump=="up":
-        if t>0:
-            y-=t
-            t-=2
-        else:
-            jump="down"
-    if jump=="down":
-        if t<=30:
-            y+=t
-            t+=2
-        else:
-            jump="runing"
-            t=30
-    # 将背景图画上去
-    wukong=hero[index]
+    wukong=Player(hero[index])
     if jump=="runing":
         index+=1
         if index>len(hero)-1:
             index=0
-    bg_x-=2
-    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))
-    if wote.rect.x<=0-wote.rect.width:
-        wote=Block(stone,bush,cacti)
-    wote.rect.x-=8
-    screen.blit(wote.image,(wote.rect.x,wote.rect.y))
-    # 刷新画面
-    pygame.display.update()
-    FPS.tick(58)
\ No newline at end of file
+    if c==True:
+        if jump=="up":
+            if t>0:
+                y-=t
+                wukong.rect.y=y
+                t-=2
+            else:
+                jump="down"
+        if jump=="down":
+            if t<=30:
+                y+=t
+                wukong.rect.y=y
+                t+=2
+            else:
+                jump="runing"
+                t=30
+        # 将背景图画上去
+        bg_x-=2
+        if bg_x<=-1000:
+            bg_x=0    
+        screen.blit(background, (bg_x, 0))
+        road_x-=speed
+        if road_x<=-1000:
+            road_x=0
+        screen.blit(road, (road_x, 500))
+        screen.blit(wukong.image,(150,y))
+        time+=1
+        if time>=60:
+            time=0
+            num=random.randint(0,50)
+            if num>20:
+                b=Block(bush,cacti,stone)
+                block_list.add(b)
+        for sprite in block_list:
+            sprite.rect.x-=speed
+            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))
+                c=False
+            else:
+                if sprite.rect.x+sprite.rect.width<wukong.rect.x:
+                    score+=sprite.score
+                    sprite.score=0
+            info="游戏分数:"+str(score)
+            text=font.render(info,True,(255,255,255))
+            screen.blit(text,(880,20))
+        # 刷新画面
+        pygame.display.update()
+        FPS.tick(60)
\ No newline at end of file
--
libgit2 0.25.0