找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4|回复: 0
收起左侧

用51单片机做出的一个躲避障碍物小游戏 源程序

[复制链接]
ID:1170336 发表于 2026-4-23 20:38 | 显示全部楼层 |阅读模式
昨天学51单片机学的有一点无聊,想着做点好玩的就做出了下面这种躲避障碍物的小游戏(使用LCD做出来的)

效果图

效果图



我写的文件还算比较容易看懂

文件

文件


需要的我放在下面了,如果对您有帮助,还望您评论回复一下,我是一个51单片机新手
如有错误,还望您指出!
  1. #include <REGX52.H>
  2. #include "Delay.h"
  3. #include "LCD1602.h"
  4. #include "MatrixKey.h"


  5. int LOSE_GAME = 0;
  6. unsigned int Password,Count;
  7. int row,line;
  8. unsigned char Barrier_lines[5] = {0,0,0,0,0};
  9. unsigned char Barrier_rows[5] = {0,0,0,0,0};

  10. unsigned int SystemTick = 0;

  11. void Timer0_ISR() interrupt 1
  12. {
  13.     TH0 = 0xFC;        // 重装初值
  14.     TL0 = 0x18;
  15.     SystemTick++;      // 每1ms加1
  16. }

  17. void main()
  18. {
  19.        
  20.         unsigned int last_move_time = 0;
  21.         unsigned int last_create_time = 0;
  22.        
  23.         Timer0Init();//初始化Timer0
  24.         LCD_Init();
  25.         row = 1;
  26.         line = 1;
  27.        
  28.         C_Barrier();
  29.         while(1)
  30.         {

  31.                 LCD_ShowString(row,4,"o");
  32.                
  33.                 row = Control();
  34.                
  35.                 if (SystemTick - last_move_time >= 400)
  36.     {
  37.       last_move_time = SystemTick;
  38.                                        
  39.       M_Barrier();   // 移动所有障碍物
  40.     }
  41.                
  42.                 if (SystemTick - last_create_time >= 600)
  43.     {
  44.       last_create_time = SystemTick;
  45.                                        
  46.       C_Barrier();   
  47.     }
  48.                
  49.                 Clear_B();
  50.                 Judge();
  51.                 if(LOSE_GAME == 1 ){break;}
  52.         }
  53.         Over();
  54. }

复制代码

代码下载:
T1 I must avoid.rar (62.5 KB, 下载次数: 0)

电路图:无

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表