Commit 90e2733e by BellCodeEditor

save project

parent 80718b16
Showing with 44 additions and 38 deletions
...@@ -11,12 +11,12 @@ class Block (pygame.sprite.Sprite): ...@@ -11,12 +11,12 @@ class Block (pygame.sprite.Sprite):
self.rect.y = 500 - self.rect.height self.rect.y = 500 - self.rect.height
class Wukong(pygame.sprite.Sprite): class Wukong(pygame.sprite.Sprite):
def __init__(self , image): def __init__(self , image1 ):
super().__init__() super().__init__()
self.image = image self.image = image1
self.rect = self.image.get_rect() self.rect = self.image.get_rect()
self.rect.x = 150 self.rect.x = 150
self.rect.y = 400 self.rect.y = 400
pygame.init() # 初始化 pygame.init() # 初始化
# 创建一个窗口 # 创建一个窗口
screen = pygame.display.set_mode((1000, 600)) screen = pygame.display.set_mode((1000, 600))
...@@ -41,7 +41,8 @@ block_lite = pygame.sprite.Group() ...@@ -41,7 +41,8 @@ block_lite = pygame.sprite.Group()
time = 0 time = 0
road_x = 0 road_x = 0
bg_x = 0 bg_x = 0
Wukong = Wukong(hero[1]) wukong = Wukong(hero[1])
gameState=True
while True: while True:
for event in pygame.event.get(): for event in pygame.event.get():
if event.type == locals.QUIT: if event.type == locals.QUIT:
...@@ -54,48 +55,53 @@ while True: ...@@ -54,48 +55,53 @@ while True:
if jumpState == "up": # 起跳状态 if jumpState == "up": # 起跳状态
if t > 0: if t > 0:
y -= t wukong.rect.y -= t
t -= 2 t -= 2
else: else:
jumpState = "down" jumpState = "down"
if jumpState == "down": # 降落状态 if jumpState == "down": # 降落状态
if t <= 30: if t <= 30:
y += t wukong.rect.y += t
t += 2 t += 2
else: else:
jumpState = "runing" jumpState = "runing"
t =30 t =30
if gameState == True:
# 悟空造型 # 悟空造型
wukong = hero[index] wukong.image = hero[index]
if jumpState == "runing": # 跑步状态下 if jumpState == "runing": # 跑步状态下
index += 1 index += 1
if index >= 5: if index >= 5:
index = 0 index = 0
# 将背景图画上去 # 将背景图画上去
screen.blit(background, (bg_x, 0)) # 远处背景 screen.blit(background, (bg_x, 0)) # 远处背景
screen.blit(road, (road_x, 500)) # 路 screen.blit(road, (road_x, 500)) # 路
screen.blit(wukong, (150, y)) # 悟空 screen.blit(wukong.image, (wukong.rect.x, wukong.rect.y)) # 悟空
bg_x -= 1 bg_x -= 1
if bg_x <= -1000: if bg_x <= -1000:
bg_x = 0 bg_x = 0
road_x -= 8 road_x -= 8
if road_x <= -1000: if road_x <= -1000:
road_x = 0 road_x = 0
time +=1 time +=1
if time >= 60 : if time >= 60 :
time = 0 time = 0
gai = random.randint(0,5) gai = random.randint(0,5)
if gai > 2: if gai > 2:
obstacle = Block(stone , cacti , bush) obstacle = Block(stone , cacti , bush)
block_lite.add(obstacle) block_lite.add(obstacle)
for sprit in block_lite:
sprit.rect.x -= 8 for sprit in block_lite:
screen.blit(sprit.image, (sprit.rect.x, sprit.rect.y)) sprit.rect.x -= 8
if sprit.rect.x <= 0-sprit.rect.width: screen.blit(sprit.image, (sprit.rect.x, sprit.rect.y))
sprit.kill() if sprit.rect.x <= 0-sprit.rect.width:
# 刷新画面 sprit.kill()
pygame.display.update() if pygame.sprite.collide_rect(wukong,obstacle):
FPS.tick(60) over = pygame.image.load('gameover.png')
\ No newline at end of file screen.blit(over, (400,200))
gameState = False
# 刷新画面
pygame.display.update()
FPS.tick(60)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment