Commit 8882c221 by BellCodeEditor

save project

parent 30be87bf
File added
bg.png

200 KB

bush.png

14.5 KB

cacti.png

5.58 KB

hero1.png

12.4 KB

hero2.png

10.9 KB

hero3.png

11.3 KB

hero4.png

11.5 KB

hero5.png

11.9 KB

import pygame
from pygame import locals
import random
pygame.init() # 初始化
# 创建一个窗口
pygame.display.set_caption(' '*28+'悟空酷跑')
screen = pygame.display.set_mode((1000, 600))
FPS = pygame.time.Clock() # pygame时钟,控制游戏速度(帧数)
# 载入图片
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') # 灌木丛
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')] # 悟空五个造型
i = 0
zt='r' # 悟空初始状态为跑步造型
y=400 # 悟空初始y坐标
t=30 # 初始跳跃高度
o=random.choice([stone,cacti,apple]) # 随机抽取障碍物造型
rect=o.get_rect() # 获取障碍物属性
rect.x=1000 # 初始障碍物x坐标
rect.y=500-rect.height
while True:
for event in pygame.event.get():
if event.type == locals.QUIT:
# 接收到退出事件后退出程序
exit()
if event.type==locals.KEYDOWN:
if zt=='r':
if event.key==locals.K_SPACE:
zt='u'
# 按下空格切换为起跳状态
if zt=='u':
if t>0:
y=y-t
t-=2
# 起跳速度变小直至为0
else:
zt='d'
# 切换为下降状态
if zt=='d':
if t<=30:
y=y+t
t+=2
# 下降速度增大直至为30
else:
zt='r'
t=30
if zt=='r':
wukong=hero[i]
i=i+1
if i >= 5:
i=0
# 跑步状态时切换造型
if rect.x<0-rect.width:
o=random.choice([stone,cacti,apple])
rect=o.get_rect()
rect.x=1000
rect.y=500-rect.height
# 障碍物消失在窗口左侧后出现新的障碍物
rect.x-=8
# 障碍物向左移动
screen.blit(background, (0, 0))
screen.blit(road, (0, 500))
screen.blit(wukong, (150,y)) # 悟空显示
screen.blit(o,(rect.x,rect.y)) # 障碍物显示
# 刷新画面
pygame.display.update()
FPS.tick(60)
\ No newline at end of file
road.png

34.7 KB

{"第1名": 0, "第2名": 0, "第3名": 0}
\ No newline at end of file
stone.png

11.3 KB

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