猫史档案馆


【Python作品分享】见缝插针

用户:Mr.釗.Mr.釗.查看:0 回复:2 评论:0 创建时间:2021-12-24T17:56:18


【作品展示】

center_image

 

【作品介绍】

操作说明:

按任意键发射针

 

【作品源代码】

import pgzrun
TITLE = 'Python见缝插针'

startNeedle = Actor('needle', anchor=(170+50, 1))
startNeedle.x = 200
startNeedle.y = 300
needles = []

rotateSpeed = 1 
score = 0     

def draw():   # 绘制模块,每帧重复执行
    screen.fill('white')  # 白色背景
    startNeedle.draw()    # 初始位置针的绘制
    for needle in needles:  # 绘制列表中每根针
        needle.draw()        # 绘制针
    screen.draw.filled_circle((400, 300), 80, 'black')  # 绘制圆盘
    screen.draw.text(str(score), (50, 250),
                     fontsize=50, color='black')  # 显示游戏得分
    if rotateSpeed == 0:  # 游戏失败
        screen.draw.text("Game Over!", (333,0), fontsize=35, color='red')

def update():   # 更新模块,每帧重复操作
    for needle in needles:  # 对列表中每根针遍历处理
        needle.angle = needle.angle + rotateSpeed  # 针的角度增加,即慢慢旋转

def on_key_down():  # 当按下任意键盘键时执行
    global rotateSpeed, score
    if rotateSpeed >0: # 播放音效
        music.play_once('弹簧')

    # 再新建一根针
    newNeedle = Actor('needle', anchor=(170+50, 1))
    newNeedle.x = 400     # 设置针锚点的x坐标
    newNeedle.y = 300     # 设置针锚点的y坐标

    for needle in needles:
        if newNeedle.colliderect(needle): # 新针和其他针碰撞,游戏失败
            print('GAME OVER')
            rotateSpeed = 0  # 游戏失败,针停止旋转
            music.play_once('溜走')

    if rotateSpeed > 0:  # 如果针还在旋转
        score = score + 1  # 得分加1

    needles.append(newNeedle)  # 把新针加入列表中

pgzrun.go()   # 开始执行游戏

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
一缕wifi一缕wifi

在那主机里面网络上面有一只小爬虫

她中二又沙p,她憨憨又自恋

她逍遥法外

到处引战,差点被封

大家都来举报她~~~

周五快乐(doge

点赞1


评论


贾晓厚贾晓厚

666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666

点赞1


评论