|
|
昨天學51單片機學的有一點無聊,想著做點好玩的就做出了下面這種躲避障礙物的小游戲(使用LCD做出來的)
a8d07d753d0584c1beab991b3c0c4b11.jpg (440.19 KB, 下載次數: 0)
下載附件
效果圖
2026-4-23 20:31 上傳
我寫的文件還算比較容易看懂
1acf4fa8b6e8b93773bc5be64f349798.png (50.26 KB, 下載次數: 0)
下載附件
文件
2026-4-23 20:36 上傳
需要的我放在下面了,如果對您有幫助,還望您評論回復一下,我是一個51單片機新手
如有錯誤,還望您指出!
- #include <REGX52.H>
- #include "Delay.h"
- #include "LCD1602.h"
- #include "MatrixKey.h"
- int LOSE_GAME = 0;
- unsigned int Password,Count;
- int row,line;
- unsigned char Barrier_lines[5] = {0,0,0,0,0};
- unsigned char Barrier_rows[5] = {0,0,0,0,0};
- unsigned int SystemTick = 0;
- void Timer0_ISR() interrupt 1
- {
- TH0 = 0xFC; // 重裝初值
- TL0 = 0x18;
- SystemTick++; // 每1ms加1
- }
- void main()
- {
-
- unsigned int last_move_time = 0;
- unsigned int last_create_time = 0;
-
- Timer0Init();//初始化Timer0
- LCD_Init();
- row = 1;
- line = 1;
-
- C_Barrier();
- while(1)
- {
- LCD_ShowString(row,4,"o");
-
- row = Control();
-
- if (SystemTick - last_move_time >= 400)
- {
- last_move_time = SystemTick;
-
- M_Barrier(); // 移動所有障礙物
- }
-
- if (SystemTick - last_create_time >= 600)
- {
- last_create_time = SystemTick;
-
- C_Barrier();
- }
-
- Clear_B();
- Judge();
- if(LOSE_GAME == 1 ){break;}
- }
- Over();
- }
復制代碼
代碼下載:
T1 I must avoid.rar
(62.5 KB, 下載次數: 0)
2026-4-23 20:34 上傳
點擊文件名下載附件
這是我寫的程序 下載積分: 黑幣 -5
電路圖:無
|
評分
-
查看全部評分
|