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

📄 guestnum_wellcom.c

📁 可以进行猜数字的游戏
💻 C
字号:
/*===========================================================================

FILE: GuestNum_Wellcom.c
===========================================================================*/


/*===============================================================================
INCLUDES AND VARIABLE DEFINITIONS
=============================================================================== */
#include "GuestNum.h"

#define WELLCOM_IMAGEPATH "BREW.bci"
#define WELLCOM_IMAGEPOS_X 40
#define WELLCOM_IMAGEPOS_Y 50


#define WELLCOMIMAGESHOWTIME 10000

/*-------------------------------------------------------------------
Function Prototypes
-------------------------------------------------------------------*/
static int WELLCOM_Open(GuestNum *pMe);
static int WELLCOM_Draw(GuestNum *pMe);

static void WELLCOM_TimerCB(GuestNum * pMe);

/*===============================================================================
FUNCTION DEFINITIONS
=============================================================================== */
int WELLCOM_InitData(GuestNum *pMe)
{
	int nRet = 0;
	
	nRet = WELLCOM_Open(pMe);

	return nRet;
}

static int WELLCOM_Open(GuestNum *pMe)
{
	int nRet = 0;
	ISHELL_CreateInstance(pMe->m_pIShell, AEECLSID_SOUNDPLAYER, (void **)&pMe->pISoundPlayer);
    pMe->pISoundPlayer=ISHELL_LoadSound(pMe->m_pIShell,"CIRCUS.MID");
	ISOUNDPLAYER_Play(pMe->pISoundPlayer);
	//Create Image
	pMe->m_pIImage = ISHELL_LoadImage(pMe->m_pIShell, WELLCOM_IMAGEPATH);

	nRet = WELLCOM_Draw(pMe);
	return nRet;
}

int WELLCOM_Close(GuestNum *pMe)
{
	//Cance Timer
	ISHELL_CancelTimer(pMe->m_pIShell, (PFNNOTIFY)WELLCOM_TimerCB, pMe);
    ISOUNDPLAYER_Stop (pMe->pISoundPlayer); 
	//Relese Image
	if (NULL != pMe->m_pIImage)
	{
		IIMAGE_Release(pMe->m_pIImage);
		pMe->m_pIImage = NULL;
	}
	return AEE_SUCCESS;
}

static int WELLCOM_Draw(GuestNum *pMe)
{
	//Draw Image
	AEEImageInfo imageInfo;
	if (NULL != pMe->m_pIImage)
	{
		//IIMAGE_Draw(pMe->m_pIImage, WELLCOM_IMAGEPOS_X, WELLCOM_IMAGEPOS_Y);
		IIMAGE_GetInfo(pMe->m_pIImage,&imageInfo);
        IIMAGE_SetAnimationRate(pMe->m_pIImage,100);
        IIMAGE_Start(pMe->m_pIImage,8,8);
	}
	//Set Timer
	ISHELL_SetTimer(pMe->m_pIShell, WELLCOMIMAGESHOWTIME, (PFNNOTIFY)WELLCOM_TimerCB, pMe);
	return AEE_SUCCESS;
}

boolean WELLCOM_HandleEvt(GuestNum * pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
	if (EVT_KEY != eCode)
	{
		return FALSE;
	}

	switch (wParam)
	{
	case AVK_SELECT:

		//Close Me
		WELLCOM_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;
}

//This Fun is Timer Call Back Fun
static void WELLCOM_TimerCB(GuestNum * pMe)
{
	//Close Me
	WELLCOM_Close(pMe);

	//Open GameIng Status
	ISHELL_PostEvent(pMe->m_pIShell, AEECLSID_GuestNum, EVT_COMMAND, GUESTNUM_GAMEING, NULL);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -