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

【作品介绍】
操作说明:按任意键发射针
【作品源代码】
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.cn666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
点赞1
评论