今天心血来潮,突然想重温一下小时候玩的打砖块游戏,那种简单的快乐真是让人怀念。于是我就动手搞起来!
我得找个趁手的“家伙”。因为只是个小游戏,我就不打算用那些大家伙,直接用最基础的 HTML、CSS 和 JavaScript 来做。这样也方便我之后把这个小游戏放到我的博客上,给大家看看。

我先在电脑上新建一个文件夹,起名叫“BrickBreaker”,然后在里面新建三个文件:
小编温馨提醒:本站只提供游戏介绍,下载游戏推荐89游戏,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区

我打开 * 文件,先把基本的 HTML 结构写就像搭房子的框架一样。然后在里面加一个 canvas 元素,这是我的游戏“画布”,所有的砖块、挡板、小球都会在这个画布上呈现。
然后,我在 * 文件里简单地给 canvas 加个边框,这样看起来更像个游戏的样子。
接下来就是最关键的部分,我要用 JavaScript 来让这个游戏“活”起来。
我先在 * 文件里获取到 canvas 元素,然后创建一个“画笔”,也就是 context,这样我才能在 canvas 上画东西。

然后,我开始定义一些变量,比如小球的 x、y 坐标,小球的半径,挡板的高度、宽度、起始位置等等。这些就像是游戏里的各种参数,控制着游戏里各个元素的属性。
我写一个 drawBall 函数,用来在 canvas 上画出小球。我用 context 的 arc 方法画一个圆,然后填充上颜色,小球就出现!
同样地,我又写一个 drawPaddle 函数,用来画出挡板。我用 context 的 rect 方法画一个长方形,然后填充上颜色,挡板也搞定!
然后,我开始写 drawBricks 函数,用来画出那些五颜六色的砖块。我用一个二维数组来存储砖块的信息,然后用两层循环遍历这个数组,根据数组里的值来判断是否需要画出砖块。
为让游戏动起来,我写一个 draw 函数,这个函数会不断地被调用,每次调用都会清除画布上的内容,然后重新画出小球、挡板和砖块。这样,小球和挡板就能动起来!
我给小球的 x、y 坐标分别加上一个 dx 和 dy,然后在 draw 函数里不断地更新小球的坐标,这样小球就动起来!

为让挡板也能动起来,我给 document 添加键盘事件监听器,当我按下左箭头或者右箭头的时候,挡板的 x 坐标就会相应地改变,这样挡板就能左右移动!
光是动起来还不够,我得让小球碰到墙壁、挡板和砖块的时候反弹,这样才像个真正的打砖块游戏嘛
我先写一个 collisionDetection 函数,用来检测小球和砖块的碰撞。我遍历所有的砖块,判断小球是否进入砖块的区域,如果是的话,就把砖块的状态改为“消失”,然后让小球反弹。
然后,我在 draw 函数里判断小球是否碰到墙壁或者挡板,如果是的话,就让小球反弹。当小球碰到左右墙壁时dy变负,碰到上下墙壁时dx变负。

我得判断游戏什么时候结束。当小球落到挡板下面,我就认为游戏结束,然后在页面上显示“GAME OVER”。
经过一番努力,我的打砖块小游戏终于完成!虽然很简单,但是玩起来还是挺有意思的。看着小球在屏幕上弹来弹去,打掉一个个砖块,真是满满的成就感!
等我有空,我再把这个小游戏优化一下,加上计分、关卡什么的,让它变得更好玩!