跳跃方块避障游戏.py

跳跃方块避障游戏.py

以下是部分代码预览:

"""
   跳跃方块避障游戏.py
   一个方块,按向上箭头会跳起来,按向下箭头会加速下落。
   还会有一些障碍物不断地从屏幕右边冒出来。
   游戏的逻辑就是避开这些障碍,谁玩得久,谁就是冠军。
   请修改代码自行调整游戏难度,如可以让多边形障碍从屏幕下方出现的机率更大。
   
   本游戏需要Python精灵模块1.33版本支持。
   安装方法 pip install sprites
   如遇到困难,联系李兴球,微信scratch8,
   网址:www.lixingqiu.com
"""

from sprites import *

def makepolygon():
    """随机产生一个多边形,加入列表"""
    global zais
    bug.randomcolor()            # 设定随机颜色
    bug.goto(400,random.randint(-360,360))
    zais.append(bug.polygon())   # 加到障碍物列表
    
def movepolygon():
    """移动每个多边形"""
    global zais
    [screen.cv.move(p,-5,0) for p in zais]

def removepolygon():
    """移除超出边界的多边形"""
    global zais
    for p in zais:
        pos = screen.cv.coords(p)
        right = max(pos[::2])     # 最右边x坐标
        if right<-480:
            screen.cv.delete(p)   # 从画布中删除这个item
            zais.remove(p)        # 在列表中移除这个item
            
def collidecheck():
    '''和所有多边形的碰撞检测'''
    global zais,running
    if square.overlap_with(zais):
         running = False
         
screen = Screen()
screen.setup(960,720)
screen.bgpic('backdrop1.png')
screen.title('跳跃方块避障游戏by李兴球')

PlaySound('Floating With You.wav',SND_ASYNC|SND_LOOP)

# 这个角色用来画从右往左移动的多边形
bug = Sprite(visible=False,pos=(400,0))

# 这个角色用来显示逝去的时间
w = Sprite(visible=False,pos=(0,250))

square = Sprite('square.png',pos=(-200,0))
square.dy = 0

zais = []                               # 障碍物列表
jumpkey = Key('Up')                     # 向上方向箭头
downkey = Key('Down')                   # 向下方向箭头
spacekey = Key('space')                 # 空格键
screen.listen()                         # 监听按键

while True:
    chance = 110                        # 控制多边形出现概率的整数
    running = True
    clock = Clock()
    start = time.time()                 # 起始时间
    framecounter =0                     # 帧计数器
    while running:
        framecounter +=1                # 统计帧数 
        esctime = time.time() - start   # 逝去的时间
        esctime = round(esctime)        # 四舍五入
        if framecounter % 60 == 0 :
           w.clear()
           w.write(esctime,align='center',font=('',48,'normal'))
        # 随着游戏的进行,机率越来越大了,游戏也就越来越难


    以下代码省略......


下载完整源代码与素材,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。