From 28aed4815760518382c79f1c7c2133744a402f0b Mon Sep 17 00:00:00 2001
From: BellCodeEditor <bellcode_dev@bell.ai>
Date: Sat, 5 Nov 2022 12:50:39 +0800
Subject: [PATCH] save project

---
 my_game.py | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------
 1 file changed, 50 insertions(+), 35 deletions(-)

diff --git a/my_game.py b/my_game.py
index e827999..70abd33 100644
--- a/my_game.py
+++ b/my_game.py
@@ -1,60 +1,75 @@
 import pygame
 from pygame import locals
+import random
 
 pygame.init()  # 初始化
 # 创建一个窗口
 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')      # 仙人掌
-apple = pygame.image.load('bush.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')]
+        pygame.image.load('hero2.png'),
+        pygame.image.load('hero3.png'),
+        pygame.image.load('hero4.png'),
+        pygame.image.load('hero5.png')]
+index = 0   
+y = 400
+jumpState = "runing"
+t = 30
+obstacle = random.choice([bush, stone, cacti])
+rect = obstacle.get_rect()
+rect.x = 1000
+rect.y = 500 - rect.height
 
-
-
-index = 0
-jumpState="runing" 
-y=400
-t=30
 while True:
     for event in pygame.event.get():
         if event.type == locals.QUIT:
             # 接收到退出事件后退出程序
             exit()
-    wukong=hero[index]
-    if jumpState=="runing":
-        index+=1
-        if index==5:
-            index=0        
         if event.type == locals.KEYDOWN:
-            if jumpState=="runing":
-                if event.key ==locals.K_SPACE:
-                    jumpState="up"
-    if jumpState=="up":
-        if t>0:
-            y-=t
-            t-=2
+            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
+            jumpState = "down"  
+    if jumpState == "down":    # 降落状态
+        if t <= 30:
+            y += t
+            t += 2
         else:
-            jumpState="runing"
-            t=30
-
+            jumpState = "runing"
+            t =30
+    
+    # 悟空造型
+    wukong = hero[index]
+    if jumpState == "runing":       # 跑步状态下
+        index += 1
+        if index >= 5:
+            index = 0
     # 将背景图画上去
-    screen.blit(background, (0, 0))
-    screen.blit(road, (0, 500))
-    screen.blit(wukong, (150, y))
+    screen.blit(background, (0, 0))     # 远处背景
+    screen.blit(road, (0, 500))     # 路
+    screen.blit(wukong, (150, y))     # 悟空
+
+    if rect.x <= 0-rect.width:      # 障碍物消失
+        # 创建障碍物对象
+        obstacle = random.choice([bush,stone,cacti])
+        rect = obstacle.get_rect()
+        rect.x = 1000
+        rect.y = 500 - rect.height
+    rect.x -= 8
+    screen.blit(obstacle, (rect.x, rect.y)) 
     # 刷新画面
     pygame.display.update()
-    FPS.tick(60)
\ No newline at end of file
+    FPS.tick(30)
\ No newline at end of file
--
libgit2 0.25.0