This repository has been archived on 2024-01-06. You can view files and clone it, but cannot push or open issues or pull requests.
justhomework/MCU/MCU_REAL _FINAL/menu.c

68 lines
918 B
C

#include "menu.h"
#include "display.h"
#include "delay.h"
#include "draw.h"
#include <stdio.h>
Menu M_STARTUP;
Menu M_MAINMENU;//主菜单
Menu M_PLAYMODE1; //俄罗斯方块
Menu* NOW; //当前菜单指针
Menu* LAST=NULL;//上一个状态的菜单
//初始菜单
void m_startup(struct _menu* this, enum OPR opr)
{
if(LAST != &M_STARTUP)
{
LAST = &M_STARTUP;
drawNAME(); //绘制名字
delay(1000);
drawNUMBER(); //绘制学号
}
if(opr == confirm)
{
opr = idle;
NOW = this->n; //转向下一菜单
clear();
}
}
void m_mainmenu(struct _menu* this, enum OPR opr)
{
if(LAST != &M_MAINMENU)
{
LAST = &M_MAINMENU;
drawMAINMENU();
}
if(opr == left)
{
opr = idle;
NOW = &M_STARTUP;
clear();
}
}
void menuInit()
{
M_STARTUP.n = &M_MAINMENU;
M_STARTUP.f = m_startup;
M_MAINMENU.f = m_mainmenu;
NOW = &M_STARTUP;
}