主函数部分:
#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);
}
|