View on GitHub

打砖块 (8051)

使用 AT89C52 制作的一个打砖块游戏机

Download this project as a .zip file Download this project as a tar.gz file

项目简介

用 AT89C52 做的一个打砖块游戏机,使用 Proteus 进行的仿真,部分电路如果要实体化还需改进。

使用 AMPIRE12864 作为显示器,三个按键分别控制平台的“左右移动”和“开始游戏”。为了保证游戏中音乐与画面的流畅,使用另外一块 AT89C52 来控制 sounder 进行声音的播放。

现阶段 V2 已完成。

V2 改进

  1. 更改了碰撞后消失砖块的大小。
  2. 在两个单片机之间加了两条同步线来使画面和声音更加同步。
  3. 可以手动调整挡板移动方式,共两种移动方式:

    • 按键按下移动,不按不移动 (Not smooth)
    • 按键指定方向,挡板自动移动 (Smooth)

V1 简介

游戏规则

玩家控制屏幕底端的平台左右移动来保证小球在屏幕中碰撞。当小球碰撞到上屏的砖块时,被碰撞的砖块会消失,当所有砖块被消掉后,此关胜利,总共 3 关,3 关全部胜利以后,游戏重置;当小球碰触到屏幕下边缘时,失去一条命,总共 5 条命,当 5 条命全部失去以后,游戏结束,整个游戏重置。

游戏过程中,有四种道具,随机出现在下屏的随机位置。每个道具的图案是一个字母,当小球碰触道具图案时,道具生效。以下是道具介绍:

  1. 变长道具(道具图案是 “L” 字样 变长道具):道具生效后,平台变为铺满整个屏幕的底边,一段时间后失效,复原为原来长度。
  2. 清除道具(道具图案是 “C” 字样 清除道具):生效后,随机清除一部分的砖块。
  3. 胜利道具(道具图案是 “W” 字样 胜利道具):生效后,此关胜利。
  4. 死亡道具(道具图案是 “D” 字样 死亡道具):生效后,直接失去一条命。

每一关,上半屏砖块组成的图案都不同(下面是三关的砖块图案),下方平台的移动速度也不同,速度会随着关卡数增大而变快,而且平台的长度也会变短,所以难度也会随之增大。小球的纵向移动速度不变,横向移动速度和平台一致,每次碰撞平台的时候,平台的移动方向和速度就会传递给小球。

第一关砖块图案

第二关砖块图案

第三关砖块图案

文件说明

电路图

电路图

运行画面

开始画面

游戏进行中的画面

死亡后显示剩余生命的画面

5 条命全部耗费完毕之后的画面

一关获胜之后的画面