Pygame第七课:编写弹球游戏

目录

一、程序分析

二、程序编写

2.1 非重点部分

2.1.1 游戏开始

2.1.2 游戏初始化

2.1.3 绘制界面

2.1.4 挡板的移动和变化

2.1.5 弹球的移动

2.1.6 通过生命数来确定生死

2.2 重难点部分

2.2.1  挡板拦住弹球,弹球反弹并加分

2.2.2 碰到边缘


人生苦短,我用Python!

一、程序分析

弹球游戏可以进行分解:

  1. 游戏开始
  2. 游戏初始化
  3. 绘制界面
  4. 挡板的移动和变化(变长或变短)
  5. 弹球的移动
  6. 挡板拦住弹球,弹球反弹并加分
  7. 碰到边缘后,如若没挡住,扣生命数;弹球重新初始化
  8. 通过生命数来确定生死

其中重难点为:

  1. 挡板拦住弹球,弹球反弹并加分(碰撞检测)
  2. 碰到边缘后,如若没挡住,扣生命数;弹球重新初始化(边界检测&条件判断)

二、程序编写

废话不多说,直接写代码!

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 &
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值