Commit 8541d91a by BellCodeEditor

save project

parent ea5c0627
Showing with 23 additions and 9 deletions
import pygame import pygame
from pygame import locals from pygame import locals
import random
pygame.init() # 初始化 pygame.init() # 初始化
# 创建一个窗口 # 创建一个窗口
screen = pygame.display.set_mode((1000, 600)) screen = pygame.display.set_mode((1000, 600))
...@@ -11,7 +11,7 @@ background = pygame.image.load('bg.png') # 背景 ...@@ -11,7 +11,7 @@ background = pygame.image.load('bg.png') # 背景
road = pygame.image.load('road.png') # 路 road = pygame.image.load('road.png') # 路
stone = pygame.image.load('stone.png') # 石头 stone = pygame.image.load('stone.png') # 石头
cacti = pygame.image.load('cacti.png') # 仙人掌 cacti = pygame.image.load('cacti.png') # 仙人掌
apple = pygame.image.load('bush.png') # 灌木丛 bush = pygame.image.load('bush.png') # 灌木丛
hero1 = pygame.image.load('hero1.png') hero1 = pygame.image.load('hero1.png')
hero2 = pygame.image.load('hero2.png') hero2 = pygame.image.load('hero2.png')
hero3 = pygame.image.load('hero3.png') hero3 = pygame.image.load('hero3.png')
...@@ -22,7 +22,10 @@ index=0 ...@@ -22,7 +22,10 @@ index=0
y = 400 y = 400
jumpState = "runing" jumpState = "runing"
t= 30 t= 30
obstacla=random.choice([bush,stone,cacti])
rect = obstacla.get_rect()
rect.x=1000
rect.y=500-rect.height
while True: while True:
for event in pygame.event.get(): for event in pygame.event.get():
...@@ -30,8 +33,9 @@ while True: ...@@ -30,8 +33,9 @@ while True:
# 接收到退出事件后退出程序 # 接收到退出事件后退出程序
exit() exit()
if event.type==locals.KEYDOWN: if event.type==locals.KEYDOWN:
if event.key==locals.K_SPACE: if jumpState=="runing":
jumpState="up" if event.key==locals.K_SPACE:
jumpState="up"
if jumpState=="up": if jumpState=="up":
if t>0: if t>0:
y-=t y-=t
...@@ -44,17 +48,26 @@ while True: ...@@ -44,17 +48,26 @@ while True:
y+=t y+=t
t+=2 t+=2
else: else:
jumpState="runring" jumpState="runing"
t=30 t=30
hero=heros[index] hero=heros[index]
index+=1 if jumpState=="runing":
if index>4: index+=1
index=0 if index>=5:
index=0
# 将背景图画上去 # 将背景图画上去
screen.blit(background, (0, 0)) screen.blit(background, (0, 0))
screen.blit(road, (0, 500)) screen.blit(road, (0, 500))
screen.blit(hero, (150, y)) screen.blit(hero, (150, y))
if rect.x<=0-rect.width:
obstacla=random.choice([bush,stone,cacti])
rect = obstacla.get_rect()
rect.x=1000
rect.y=500-rect.height
rect.x-=8
screen.blit(obstacla,(rect.x,rect.y))
# 刷新画面 # 刷新画面
pygame.display.update() pygame.display.update()
FPS.tick(60) 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