项目来源:经典游戏—打砖块
原作介绍:打砖块游戏是一种动作电子游戏的名称。玩家操作一根萤幕上水平的“棒子”,让一颗不断弹来弹去的“球”在撞击作为过关目标消去的“砖块”的途中不会落到萤幕底下。
新作品介绍:游戏载体变为“掌控板”,通过mpython软件,上手容易,制作方便,
总结:更简单的运行载体,更容易的编辑引擎,引导学生动手实现经典项目,好玩,好做,好自信。
材料清单
- 掌控板 X1
- 数据线 X1
掌控板制作打砖块游戏
打砖块这个经典小游戏大家都玩过,使用重复语句“造出”一面16*3的砖墙(即,每行16块,3行),位于屏幕上边缘,每块“砖块”由边长8*8的空心矩形绘制,如果被小球角色碰到,砖块会消失。
球拍角色为实心矩形,位于屏幕下边缘。使用功能A/B按键控制左右移动,尽量接住小球使其反弹,如果没有接住小球,接触到下边缘,游戏结束,显示得分。
小球角色为半径为3的空心圆,碰到砖头、球拍、上边缘、左右边缘都会反弹,如果碰到下边缘,游戏结束,显示得分。
新建“砖块”阵列,砖块的大小为8*8,因为x轴为0~127,;
我制作了3层砖块墙,16*3,共计48个砖块,这样就形成了位于屏幕顶端的砖块阵列。
添加小球运动:
这里没有做分数的显示,因为分数会影响显示,我们只在结束时显示一下分数好了。
绘制接球的球拍在屏幕底部,宽度为30,使用A/B按键控制其左右移动;
绘制半径为2的小球,实时改变其坐标(x,y),碰到上左右边缘都会向方向运动,这个只需改变cx和cy的值即可。
当前运行效果2:
将球拍和小球元素加入到其中(也就是之前做的“接小球”项目),这样就有了互动功能,A/B控制球拍左右移动。小球碰到球拍就反弹,碰到下边缘就游戏结束。
前面我们制作好了两个完全独立的单元(砖头阵列,48个砖头和反弹的小球、接球的球拍),
打砖块的球拍、运动的小球和砖块我们都做好了,并做好了底边球拍和小球的互动逻辑,接下来我们制作小球和砖头的逻辑,即小球碰到砖头实现1加分;2反弹;3砖块消失。
以上就是我制作的“掌控板_打砖块”项目了,不明白的同学画一下图,注意半径和矩形的位置区别(矩形:左上角是xy坐标点,圆形:圆心是xy坐标点),两者相遇需要什么样的条件,画一画图就明白了。有问题可以给文章留言或是私信我。
摸鱼的网民2023.01.16
666说实话我基本上没咋用过mpython
Rockatdf2022.04.27
“1加分;2反弹”语句比较清楚;但“3砖块消失”如何实现,可否解读一下?