一、电路设计
此电路由stm32最小系统板、oled显示模块、蜂鸣器模块和按键模块组成。
二、运行效果图
三、部分代码
#include “stm32f10x.h” // Device header
#include “key.h”
#include “OLED.h”
#include “GAME.h”
extern int8_t Restart;
extern uint32_t GameScore;
uint8_t i,j=0;
void Game(void)
{
i=KEY_ValueReturn();
if(i)
{
i=0;
OLED_Clear();
while(1)
{
GameBody();
i=KEY_ValueReturn();
if(ReturnGameOverFlag()==1)//¼ì²âµ½ÓÎÏ·½áÊø±êÖ¾
{
OLED_Clear();
while(1)
{
if(Counter_1_FullFlagReturn()){j=!j;}
if(j)
{
OLED_Clear();
}else
{
OLED_ShowString(1,1,"SCORE:");
OLED_ShowNum(1,7,GameScore,6);
OLED_ShowString(3,1,"Press key 3 to");
OLED_ShowString(4,1,"restart");
}
i=KEY_ValueReturn();
if(i==3){ OLED_Clear();Restart=1; break;}
}
}
if(ReturnGameOverFlag()==0 && Restart==0)
{
if(i==3 )
{
OLED_Clear();
while(1)
{
if(Counter_1_FullFlagReturn()){j=!j;}
if(j){
OLED_Clear();
}else
{
OLED_ShowString(1,1," PAUSED ");
}
i=KEY_ValueReturn();
if(i==3){OLED_Clear(); break;}
}
}
}
}
}
}
int main()
{
OLED_Init();
Key_Init();
InitAllVariable();
OLED_ShowString(1,1,"Press any key to");
OLED_ShowString(2,1,"start game");
while(1)
{
Game();
}
}
🔥 项目分享:
https://gitee.com/feifei1122/simulation-project