本游戲是關于俄羅斯方塊的小游戲,游戲功能基本實現了網絡上的俄羅斯方塊的游戲的大部分內容,初學者可以看看。
stm32單片機源程序如下:
- /* 使用JLINK下載程序后顯示開機圖片,當按下K_UP后進入游戲
- 主界面,指示燈D1閃爍表示程序正常運行,按照LCD上指示對按鍵進行操作控制*/
- #include "sys.h"
- #include "delay.h"
- #include "usart.h"
- #include "led.h"
- #include "button.h"
- #include "lcd_driver.h"
- #include "gui.h"
- #include "tim.h"
- #include "tetris.h"
- void GUI_DisplayInit(void)
- {
- GUI_ShowPicture(0, 0, 240, 320);
- }
- int main(void)
- {
- u8 i;
- delay_init();
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
- led_init();
- button_init();
- TFT_Init();
- TFT_ClearScreen(GREEN);
- GUI_DisplayInit();
- TIM4_Init(10,7199);
- while(key!= K_UP_PRESS) //等待按鍵K_UP按下
- {
- GUI_Show12ASCII(20,10,"Press K_UP key to Enter...",RED,WHITE);
- delay_ms(200);
- GUI_Show12ASCII(20,10," ",RED,WHITE);
- delay_ms(200);
- }
- TIM_Cmd(TIM4, DISABLE); //失能TIMx
- uart_init(9600);
- score_buf[0]=Game.score/100000+0x30;
- score_buf[1]=Game.score%100000/10000+0x30;
- score_buf[2]=Game.score%100000%10000/1000+0x30;
- score_buf[3]=Game.score%100000%10000%1000/100+0x30;
- score_buf[4]=Game.score%100000%10000%1000%100/10+0x30;
- score_buf[5]=Game.score%100000%10000%1000%100%10+0x30;
- score_buf[6]='\0';
- level_buf[0]=Game.level/100+0x30;
- level_buf[1]=Game.level%100/10+0x30;
- level_buf[2]=Game.level%100%10+0x30;
- level_buf[3]='\0';
- Show_TetrisFace();
- Start_Game();
- TIM3_Init(5000,7199);
-
- while(1)
- {
- key=keyscan(1);
- switch(key)
- {
- case K_LEFT_PRESS:MoveLeft();break;
- case K_RIGHT_PRESS:MoveRight();break;
- case K_DOWN_PRESS:DownFast();break;
- case K_UP_PRESS:Transform();break;
- // case RESET:ResetGame();break;
- default :
- break;
- }
- i++;
- if(i==15)
- {
- i=0;
- led0=~led0;
- }
- delay_ms(10);
- }
- }
復制代碼
所有資料51hei提供下載:
俄羅斯方塊游戲.7z
(442.06 KB, 下載次數: 128)
2022-10-17 23:57 上傳
點擊文件名下載附件
|