📄 guestnum_score.c
字号:
/*===========================================================================
FILE: GuestNum_Score.c
===========================================================================*/
/*===============================================================================
INCLUDES AND VARIABLE DEFINITIONS
=============================================================================== */
#include "GuestNum.h"
//Tip Str define
#define SCOREWINSTR "you are smart!!"
#define SCORELOSTSTR "try again!"
//Suest Num Count Str Format
#define SCOREFORMAT " %d "
//Tip Str Buff Len
#define SCORETIPLEN 20
//Guest Count Str Y Pos
#define SCOREGUESTCOUNTH 40
//Tip Str Y Pos
#define SCORETIPH 62
//Num Str Y Pos
#define SCORENUMH 80
/*-------------------------------------------------------------------
Function Prototypes
-------------------------------------------------------------------*/
static int SCORE_Open(GuestNum *pMe);
static int SCORE_Draw(GuestNum *pMe);
/*===============================================================================
FUNCTION DEFINITIONS
=============================================================================== */
int SCORE_InitData(GuestNum *pMe)
{
int nRet;
nRet = SCORE_Open(pMe);
return nRet;
}
static int SCORE_Open(GuestNum *pMe)
{
int nRet;
ISHELL_CreateInstance(pMe->m_pIShell, AEECLSID_SOUNDPLAYER, (void **)&pMe->pISoundPlayer);
pMe->pISoundPlayer=ISHELL_LoadSound(pMe->m_pIShell,"ISLAND.MID");
ISOUNDPLAYER_Play(pMe->pISoundPlayer);
nRet = SCORE_Draw(pMe);
return AEE_SUCCESS;
}
int SCORE_Close(GuestNum *pMe)
{
return AEE_SUCCESS;
}
static int SCORE_Draw(GuestNum *pMe)
{
AECHAR szTipStr[SCORETIPLEN];
AECHAR szGuestCountStrFormat[SCORETIPLEN];
AECHAR szGuestCountStr[SCORETIPLEN];
MEMSET((void *)szTipStr, 0, sizeof(AECHAR)*SCORETIPLEN);
MEMSET((void *)szGuestCountStrFormat, 0, sizeof(AECHAR)*SCORETIPLEN);
MEMSET((void *)szGuestCountStr, 0, sizeof(AECHAR)*SCORETIPLEN);
//Clean Screen
IDISPLAY_ClearScreen(pMe->m_pIDisplay);
pMe->m_pIImage = ISHELL_LoadImage(pMe->m_pIShell, "frame2.bmp");
IIMAGE_Draw(pMe->m_pIImage, 0, 0);
IDISPLAY_Update(pMe->m_pIDisplay);
IDISPLAY_UpdateEx(pMe->m_pIDisplay, FALSE);
//Set Win Tip Str By bWin
if (TRUE == pMe->bWin)
{
STRTOWSTR(SCOREWINSTR, szTipStr, sizeof(AECHAR)*SCORETIPLEN);
}
else
{
STRTOWSTR(SCORELOSTSTR, szTipStr, sizeof(AECHAR)*SCORETIPLEN);
}
//Draw Win Tip
IDISPLAY_DrawText(pMe->m_pIDisplay, AEE_FONT_LARGE, szTipStr, -1, 0, SCORETIPH, NULL, IDF_TEXT_TRANSPARENT | IDF_ALIGN_CENTER);
//Draw Guest Num
IDISPLAY_DrawText(pMe->m_pIDisplay, AEE_FONT_LARGE, pMe->szNum, -1, 0, SCORENUMH, NULL, IDF_TEXT_TRANSPARENT | IDF_ALIGN_CENTER);
//Set Guest Num Str
STRTOWSTR(SCOREFORMAT, szGuestCountStrFormat, sizeof(AECHAR)*SCORETIPLEN);
WSPRINTF(szGuestCountStr, SCORETIPLEN, szGuestCountStrFormat, pMe->nGuestNumCount);
//Draw Guest Num
IDISPLAY_DrawText(pMe->m_pIDisplay, AEE_FONT_LARGE, szGuestCountStr, -1, 0, SCOREGUESTCOUNTH, NULL, IDF_TEXT_TRANSPARENT | IDF_ALIGN_CENTER);
IDISPLAY_Update(pMe->m_pIDisplay);
return AEE_SUCCESS;
}
boolean SCORE_HandleEvt(GuestNum * pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
if (EVT_KEY != eCode)
{
return FALSE;
}
switch (wParam)
{
case AVK_SELECT:
//Close Me
SCORE_Close(pMe);
//Open GameIng Status
ISHELL_PostEvent(pMe->m_pIShell, AEECLSID_GuestNum, EVT_COMMAND, GUESTNUM_GAMEING, NULL);
return TRUE;
case AVK_0:
break;
case AVK_1:
break;
case AVK_2:
break;
case AVK_3:
break;
case AVK_4:
break;
case AVK_5:
break;
case AVK_6:
break;
case AVK_7:
break;
case AVK_8:
break;
case AVK_9:
break;
default:
break;
}
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -