雷电射击游戏_python精灵模块简版

雷电射击游戏_python精灵模块简版



"""
   雷电射击游戏_精灵模块简版
   本程序需要Python精灵模块V1.31以上版本支持,
   作者:李兴球 @ 2020/3/16
   本程序的所有敌机是图章,它们可以移动,使用overlap_with进行碰撞检测.....
"""
from sprites import *                          # 从精灵模块导入所有命令 

enemies_amounts = 200                          # 敌机数量
title = '雷电射击游戏_精灵模块简版'
bgs = ['res/w1.png','res/w2.png','res/w3.png']
exps = ['res/explosion0.png','res/explosion1.png']

screen = Screen()                              # 新建屏幕
screen.setup(960,720)                          # 设定屏幕宽高 
screen.tracer(0,0)                             # 关闭自动刷新和绘画版时
screen.title(title)                            # 设定屏幕所在窗口标题

PlaySound('res/Tragedy Flame.wav',SND_ASYNC|SND_LOOP)

index = 0                                      # 定义变量,做为背景表的索引 
def alt_background():
    global index
    screen.bgpic(bgs[index])                   # 设定背景图片
    index = index + 1                          # index增加1 
    index = index % 3                          # index对3求余
    screen.ontimer(alt_background,50)          # 50毫秒后再次运行函数
alt_background()

plane = Sprite(shape='res/敌机1.png',pos=(0,720))
for _ in range(enemies_amounts):               # 这里生成一定数量的敌机 
    x = random.randint(-480,480)
    y = random.randint(720,5440)
    plane.goto(x,y)
    plane.stamp()

bs = Group('zd')                               # 新建bs组,它们的标签为zd

def shoot():
    if framecounter % 3 == 0 :
        bullet = Sprite(shape='circle',visible=False,tag='zd')
        bullet.color('yellow')
        bullet.scale(0.5)
        bullet.goto(player.pos())
        bullet.show()

player = Sprite(shape='res/thunder.png')      # 玩家操作的飞机
player.scale(0.5)
player.sety(-240)

leftkey = Key('a')                            # 新建a键
rightkey = Key('d')                           # 新建d键
upkey = Key('w')                              # 新建w键 
downkey = Key('s')                            # 新建s键
shootkey = Key('j')                           # 新建j键
screen.listen()                               # 监听屏幕

w = Sprite(visible=False)                     # 在屏幕上写分数的角色
w.addy(200)

score = 0                                     # 得分
clock = Clock()                               # 新建时钟对象
framecounter = 0                              # 帧计数器
enemies = plane.stampItems                    # 给plane的图章列表取别名为enemies


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

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

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

李兴球

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

评论已关闭。