From d9aa07722a6e7a79b284b27400a22a29b50e2281 Mon Sep 17 00:00:00 2001
From: BellCodeEditor <bellcode_dev@bell.ai>
Date: Sat, 12 Feb 2022 19:22:07 +0800
Subject: [PATCH] save project

---
 my_game.py | 72 +++++++++++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 43 insertions(+), 29 deletions(-)

diff --git a/my_game.py b/my_game.py
index 0fbb2c2..109a8c3 100644
--- a/my_game.py
+++ b/my_game.py
@@ -4,8 +4,8 @@ import random
 
 pygame.init()  # 初始化
 
-class Block(pygame.sprite.Sprite):      # 障碍物精灵类
-    def __init__(self,image1,image2,image3):
+class Block(pygame.sprite.Sprite):  # 障碍物精灵类
+    def __init__(self, image1, image2, image3):
         super().__init__()
         # 加载障碍物的图片
         self.image = random.choice([image1, image2, image3])
@@ -14,8 +14,9 @@ class Block(pygame.sprite.Sprite):      # 障碍物精灵类
         # 障碍物绘制坐标
         self.rect.x = 1000
         self.rect.y = 500 - self.rect.height
+        self.score = 1
 
-class Player(pygame.sprite.Sprite):     # 悟空
+class Player(pygame.sprite.Sprite):  # 悟空
     def __init__(self, image):
         super().__init__()
         # 加载悟空精灵图像
@@ -30,17 +31,20 @@ screen = pygame.display.set_mode((1000, 600))
 FPS = pygame.time.Clock()  # pygame时钟,控制游戏速度(帧数)
 pygame.display.set_caption("悟空酷跑")
 # 载入图片
-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')      # 灌木丛
+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')  # 灌木丛
 hero = [pygame.image.load('hero1.png'),
         pygame.image.load('hero2.png'),
         pygame.image.load('hero3.png'),
         pygame.image.load('hero4.png'),
         pygame.image.load('hero5.png')]
-index = 0   
+score_audio = pygame.mixer.Sound('score.wav')
+basic_font = pygame.font.Font('STKAITI.TTF', 18)  # 字体
+
+index = 0
 y = 400
 jumpState = "runing"
 t = 30
@@ -48,8 +52,10 @@ road_x = 0
 bg_x = 0
 time = 0
 gamestate = True
+score = 0
+old_score = score
 
-block_list =pygame.sprite.Group()   # 创建精灵组
+block_list = pygame.sprite.Group()  # 创建精灵组
 
 while True:
     for event in pygame.event.get():
@@ -60,60 +66,68 @@ while True:
             if jumpState == "runing":
                 if event.key == locals.K_SPACE:
                     jumpState = "up"
-    
+
     # 悟空造型
     wukong = Player(hero[index])
-    if jumpState == "runing":       # 跑步状态下
+    if jumpState == "runing":  # 跑步状态下
         index += 1
         if index >= 5:
             index = 0
 
     if gamestate == True:
-        if jumpState == "up":    # 起跳状态
+        if jumpState == "up":  # 起跳状态
             if t > 0:
                 y -= t
                 wukong.rect.y = y
                 t -= 2
             else:
-                jumpState = "down"  
-        if jumpState == "down":    # 降落状态
+                jumpState = "down"
+        if jumpState == "down":  # 降落状态
             if t <= 30:
                 y += t
                 wukong.rect.y = y
                 t += 2
             else:
                 jumpState = "runing"
-                t =30
-        
+                t = 30
+
         # 将背景图画上去
         bg_x -= 1
-        if bg_x<=-1000:
+        if bg_x <= -1000:
             bg_x = 0
-        screen.blit(background, (bg_x, 0))      # 远景
+        screen.blit(background, (bg_x, 0))  # 远景
 
         road_x -= 8
-        if road_x<=-1000:
+        if road_x <= -1000:
             road_x = 0
-        screen.blit(road, (road_x, 500))       # 道路
+        screen.blit(road, (road_x, 500))  # 道路
 
-        screen.blit(wukong.image, (150, y))     # 悟空
+        screen.blit(wukong.image, (150, y))  # 悟空
 
         time += 1
-        if time >= 60:      # 创建障碍物精灵
+        if time >= 60:  # 创建障碍物精灵
             time = 0
-            num = random.randint(0,50)
+            num = random.randint(0, 50)
             if num > 20:
-                obstacle = Block(bush,cacti,stone)  
+                obstacle = Block(bush, cacti, stone)
                 block_list.add(obstacle)
-        for sprite in block_list:       # 遍历、展示障碍物精灵
+        for sprite in block_list:  # 遍历、展示障碍物精灵
             sprite.rect.x -= 8
-            screen.blit(sprite.image, (sprite.rect.x, sprite.rect.y)) 
-            if sprite.rect.x <= 0-sprite.rect.width:
+            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')     # 游戏结束
+                gameover = pygame.image.load('gameover.png')  # 游戏结束
                 screen.blit(gameover, (400, 200))
                 gamestate = False
+            else:
+                if (sprite.rect.x + sprite.rect.width) < wukong.rect.x:
+                    score += sprite.score
+                    sprite.score = 0
+
+        # 分数
+        scoreSurf = basic_font.render("分数:"+str(score), True, (255, 255, 255))
+        screen.blit(scoreSurf, (880,20))
 
         # 刷新画面
         pygame.display.update()
--
libgit2 0.25.0