⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guestnum_score.c

📁 可以进行猜数字的游戏
💻 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 + -