案例介绍
本案例采用 python 实现了一个简单的弹球游戏。该游戏在一个单独的图形窗口中运行。游戏初始化后,在游戏窗口点击鼠标左键开始游戏。玩家通过控制键盘的左、右方向键来控制弹板的移动,弹球和弹板撞击一次,得一分,当弹球触底时,本局游戏结束。玩家一共有四条生命,即可以玩四次游戏,当生命大于等于“ 0 ”时,可以继续游戏,当生命小于“ 0 ”时,游戏结束。
案例结构和主要算法
该案例为一个游戏,其运行的主要逻辑为:
设置游戏:绘制窗口、弹板、初始弹球,设置生命提示文本、得分提示文本、游戏提示文本,将鼠标左键单击事件与开始游戏函数绑定在一起。
单击鼠标左键开始游戏后,解除鼠标左键单击事件绑定、重设得分、删除游戏提示文本。
进入游戏循环。判断弹球是否触底?
弹球触底:弹球速度设为“ 0 ”,生命值减 1,再判断生命值是否小于“ 0 ”。如果小于“ 0 ”,游戏结束,否则重新开始执行第 1 项。
弹球未触底:首先绘制弹球,然后再重新执行第 3 项。
弹球偏移量确定的算法为:
预设弹球速度为 10,预设弹球运动方向为 direction =[1,-1](向右向上运动)。
当弹球碰到画布上顶边、左边、右边和碰到弹板时,方向取反。
取横坐标 x = direction[0]、纵坐标 y = direction[1],将方向与速度相乘,得到弹球的偏移量(x,y)。
判定弹球与弹板相撞的算法为:
取得弹球和弹板的坐标。
当弹球的横坐标在弹板之间,且弹球的右下角的纵坐标在弹板的左上角与右下角的纵坐标之间时,判定为弹球与弹板相撞。
大家和酷酷一起看看游戏完成的样子吧
想要了解更多编程相关知识http://www.kudingmao.com,关注我们吧!
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved