目录
人生苦短,我用Python!
一、程序分析
弹球游戏可以进行分解:
- 游戏开始
- 游戏初始化
- 绘制界面
- 挡板的移动和变化(变长或变短)
- 弹球的移动
- 挡板拦住弹球,弹球反弹并加分
- 碰到边缘后,如若没挡住,扣生命数;弹球重新初始化
- 通过生命数来确定生死
其中重难点为:
- 挡板拦住弹球,弹球反弹并加分(碰撞检测)
- 碰到边缘后,如若没挡住,扣生命数;弹球重新初始化(边界检测&条件判断)
二、程序编写
废话不多说,直接写代码!
2.1 非重点部分
2.1.1 游戏开始
编写一个函数:游戏开始时等待用户按下任意键来开始游戏,跳出等待。随后调用这个函数即可。
代码如下:
# wait()函数
def wait():
text1 = font.render("弹球游戏", True, BLACK)
text_wait = font.render("按任意键开始游戏", True, BLACK)
screen.fill(WHITE)
screen.blit(text1, (675, 425))
screen.blit(text_wait, (675, 500))
pygame.display.update()
music.play(-1)
while True:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type==pygame.KEYDOWN:
if event.key==pygame.K_ESCAPE:
pygame.quit()
sys.exit()
else:
return
2.1.2 游戏初始化
游戏初始化就简单了。只需将一些变量改成默认值即可。
代码如下:
ball &