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

📄 brutalfighting.c

📁 很好的韩国游戏
💻 C
📖 第 1 页 / 共 5 页
字号:

	    rect.x = pMe->DeviceInfo.cxScreen - SELECT_OFFSET - SELECT_RECT_X +1;
		rect.y = pMe->DeviceInfo.cyScreen/4 * 3 -SELECT_RECT_HIGHT + 1-12;
		rect.dx =pMe->m_iCustomStr * SELECT_RECT_X/10 -2;
		rect.dy = SELECT_RECT_Y-2;

		IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(255,0,0),IDF_RECT_FILL);
		rect.x = pMe->DeviceInfo.cxScreen - SELECT_OFFSET - SELECT_RECT_X +1;
		rect.y = pMe->DeviceInfo.cyScreen/4 *3 -SELECT_RECT_HIGHT+2+pMe->m_iFontHeight+1-12;
		rect.dx = pMe->m_iCustomFlee/10 * SELECT_RECT_X/10-2;;
		rect.dy = SELECT_RECT_Y-2;
		IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(255,0,0),IDF_RECT_FILL);
	}
	else
	{
		IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,pMe->m_strLevel,-1,pMe->DeviceInfo.cxScreen/4 +1,pMe->DeviceInfo.cyScreen/3*2-10 - pMe->m_iFontHeight - 1,NULL,IDF_TEXT_TRANSPARENT);
		SPRINTF(chScore, "%d", NUMBER_OF_ENEMY);
		STR_TO_WSTR(chScore , aechScore, 10);
		//draw 6
		IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,aechScore,-1,pMe->DeviceInfo.cxScreen/4 * 3 -2 -IDISPLAY_MeasureText(pMe->pIDisplay,AEE_FONT_NORMAL,aechScore),
				pMe->DeviceInfo.cyScreen/3*2-10 - pMe->m_iFontHeight - 1,NULL,IDF_TEXT_TRANSPARENT);
		//draw /
	    IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,pMe->m_strDiagonal,-1,pMe->DeviceInfo.cxScreen/3 * 2-2,pMe->DeviceInfo.cyScreen/3*2-10 - pMe->m_iFontHeight - 1,NULL,IDF_TEXT_TRANSPARENT);
		//draw enemy_number
		SPRINTF(chScore, "%d", pMe->m_ienemyNumber +1);
		STR_TO_WSTR(chScore , aechScore, 10);
		IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,aechScore,-1,pMe->DeviceInfo.cxScreen/3 * 2-IDISPLAY_MeasureText(pMe->pIDisplay,AEE_FONT_NORMAL,aechScore)-2,
				pMe->DeviceInfo.cyScreen/3*2-10 - pMe->m_iFontHeight - 1,NULL,IDF_TEXT_TRANSPARENT);

		//fill  str flee
	    rect.x = pMe->DeviceInfo.cxScreen - SELECT_OFFSET - SELECT_RECT_X +1;
		rect.y = pMe->DeviceInfo.cyScreen/3 *2 -SELECT_RECT_HIGHT+1;
		rect.dx = pMe->m_iEnemyStr[pMe->m_ienemyNumber] * SELECT_RECT_X/10-2;
		rect.dy = SELECT_RECT_Y-2;

		IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(255,0,0),IDF_RECT_FILL);
		rect.x = pMe->DeviceInfo.cxScreen - SELECT_OFFSET - SELECT_RECT_X +1;
		rect.y = pMe->DeviceInfo.cyScreen/3*2 -SELECT_RECT_HIGHT+2+pMe->m_iFontHeight+1;
		rect.dx = pMe->m_iEnemyFlee[pMe->m_ienemyNumber]/10 * SELECT_RECT_X/10-2;
		rect.dy = SELECT_RECT_Y-2;

		IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(255,0,0),IDF_RECT_FILL);
	}
	rect.dy = pMe->DeviceInfo.cyScreen/3*2-10;
	IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,pMe->m_strStrength,-1,SELECT_OFFSET, rect.dy+2,NULL,IDF_TEXT_TRANSPARENT);
	IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,pMe->m_strFlee,-1,SELECT_OFFSET, rect.dy+pMe->m_iFontHeight+2+2,NULL,IDF_TEXT_TRANSPARENT);
	if ( NUMBER_OF_ENEMY != pMe->m_ienemyNumber) 
	{
		IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,pMe->m_strRecord,-1,SELECT_OFFSET, rect.dy+pMe->m_iFontHeight*2+2+2+2,NULL,IDF_TEXT_TRANSPARENT);
	}
	
	if (0 == pMe->m_ienemyNumber) 
	{
		DrawTime(pMe,pMe->istruHistory.ione,pMe->DeviceInfo.cxScreen/2 +4 ,rect.dy+pMe->m_iFontHeight*2+2+2+2);
	}
	else if ( 1 == pMe->m_ienemyNumber)
	{
		DrawTime(pMe,pMe->istruHistory.ione1,pMe->DeviceInfo.cxScreen/2 +4 ,rect.dy+pMe->m_iFontHeight*2+2+2+2);
	}
	else if ( 2 == pMe->m_ienemyNumber)
	{
		DrawTime(pMe,pMe->istruHistory.ione2,pMe->DeviceInfo.cxScreen/2 +4 ,rect.dy+pMe->m_iFontHeight*2+2+2+2);
	}
	else if ( 3 == pMe->m_ienemyNumber)
	{
		DrawTime(pMe,pMe->istruHistory.ione3,pMe->DeviceInfo.cxScreen/2 +4 ,rect.dy+pMe->m_iFontHeight*2+2+2+2);
	}
	else if ( 4 == pMe->m_ienemyNumber)
	{
		DrawTime(pMe,pMe->istruHistory.ione4,pMe->DeviceInfo.cxScreen/2 +4 ,rect.dy+pMe->m_iFontHeight*2+2+2+2);
	}
	else if ( 5 == pMe->m_ienemyNumber)
	{
		DrawTime(pMe,pMe->istruHistory.ione5,pMe->DeviceInfo.cxScreen/2 +4 ,rect.dy+pMe->m_iFontHeight*2+2+2+2);
	}
	else if ( NUMBER_OF_ENEMY == pMe->m_ienemyNumber)
	{
	}
	
	//Rect FRAME
	rect.x = pMe->DeviceInfo.cxScreen - SELECT_OFFSET - SELECT_RECT_X ;
	rect.y = pMe->DeviceInfo.cyScreen/4*3 -SELECT_RECT_HIGHT-12;
	rect.dx = SELECT_RECT_X;
	rect.dy = SELECT_RECT_Y;
	IDISPLAY_DrawRect(pMe->pIDisplay,&rect,MAKE_RGB(255,255,255),NULL,IDF_RECT_FRAME);
	rect.y = pMe->DeviceInfo.cyScreen/4*3 -SELECT_RECT_HIGHT-10+pMe->m_iFontHeight;
	IDISPLAY_DrawRect(pMe->pIDisplay,&rect,MAKE_RGB(255,255,255),NULL,IDF_RECT_FRAME);
}
/****************************************************************************************
*	 Name				:   RandomBackground											*
*	 Description		:	random background											*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	NULL														*
****************************************************************************************/
void RandomBackground(BrutalFighting* pMe)
{

	pMe->m_iRedColor=ABS(GetRand_Int()%255);
	pMe->m_iGreenColor=ABS(GetRand_Int()%255);
	pMe->m_iBlueColor=ABS(GetRand_Int()%255);
}
/****************************************************************************************
*	 Name				:   Select_HandleEvent									    	*
*	 Description		:	Handle events during in the WIN_ID_SELECT status			*
*	 Parameter			:	BrutalFighting* pMe		[IN]                                *
*                           AEEEvent eCode      [IN]						  			*
*                           uint16 wParam       [IN]									*
*							uint32 dwParam      [IN]									*
*	 Return Value		:	boolean TRUE		[OUT]									*
****************************************************************************************/
static boolean Select_HandleEvent(BrutalFighting* pMe, AEEEvent eCode,
								uint16 wParam, uint32 dwParam)
{
	switch(eCode)
	{
	case EVT_KEY:
			switch(wParam)
			{
				case AVK_LEFT:
				{
					PreviousEnemy(pMe);
				}
				return(TRUE);	
				case AVK_RIGHT:
				{				 
					 if (pMe->m_ienemyNumber==NUMBER_OF_ENEMY)
					 {
						 if (0 == pMe->m_iCustomFlag)
						 {
							 if (pMe->m_iCustomStr < 10) 
							 {
								 pMe->m_iCustomStr+=1;
							 }	
							 else
							 {
								 pMe->m_iCustomStr = 0;
							 }
						 }
						 else 
						 {
							 if (pMe->m_iCustomFlee <100)
							 {
								 pMe->m_iCustomFlee+=10;
							 }							
							 else
							 {
								 pMe->m_iCustomFlee = 0;
							 }
						 }							
					}
					 else
					 {
						 NextEnemy(pMe);
					 }
				}
				return (TRUE);
				case AVK_UP:
				{
					if (pMe->m_ienemyNumber==NUMBER_OF_ENEMY)
					{
				
						if (1 == pMe->m_iCustomFlag) 
						{
							pMe->m_iCustomFlag = 0;
						}
					}
				}
				return(TRUE);
				case AVK_DOWN:
				{
					if (pMe->m_ienemyNumber==NUMBER_OF_ENEMY)
					{
						if (0 == pMe->m_iCustomFlag)
						{
							pMe->m_iCustomFlag = 1;
						
						}
					}
				}
				return(TRUE);	
				
				case AVK_SELECT:
				{	
					if (pMe->m_bSound)
					{
						BruatlFighting_Paly_Music(pMe);
					}
					BrutalFighting_InitGame(pMe);
					pMe->m_emGameState = WIN_ID_GAME;
				}
				return(TRUE);			
				case AVK_CLR:	
				{
					pMe->m_bGamePause = FALSE;
					pMe->m_bPause = FALSE;
					pMe->m_stMainMenu.m_Status = MENU_NEWGAME;
					pMe->m_emGameState = WIN_ID_MENU;///
					
				}
				return(TRUE);	
			}	
	}
return TRUE;
	
}
/****************************************************************************************
*	 Name				:   PreviousEnemy													*
*	 Description		:	select enemy previous enemy										*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	NULL														*
****************************************************************************************/
void PreviousEnemy(BrutalFighting* pMe)
{
   if (pMe->m_ienemyNumber > 0)                                                  
   {                                                                     
    pMe->m_ienemyNextNumber = (byte)(pMe->m_ienemyNumber - 1);                        
    RandomBackground(pMe);                                          
                                                                      
		if (pMe->m_ienemyNumber == NUMBER_OF_ENEMY)                               
		{                                                                 
			// cancel current custom status and load saved custom status  
			pMe->m_iEnemyStr[NUMBER_OF_ENEMY] = pMe->m_iCustomStr;                        
			pMe->m_iEnemyFlee[NUMBER_OF_ENEMY] = pMe->m_iCustomFlee;                      
			pMe->m_iEnemyScore[NUMBER_OF_ENEMY] = pMe->m_iCustomScore;                    
		}                                                                 
   }                                                                 
}
/****************************************************************************************
*	 Name				:   NextEnemy													*
*	 Description		:	select enemy next enemy										*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	NULL														*
****************************************************************************************/
void NextEnemy(BrutalFighting* pMe)
{
	if (pMe->m_ienemyNumber < NUMBER_OF_ENEMY)                                  
	{                                                                   
		pMe->m_ienemyNextNumber = (byte)(pMe->m_ienemyNumber + 1);                      
		RandomBackground(pMe);                                        
                                                                    
		if (pMe->m_ienemyNumber == NUMBER_OF_ENEMY)                               
		{  
			pMe->m_iEnemyStr[NUMBER_OF_ENEMY] = pMe->m_iCustomStr;                        
			pMe->m_iEnemyFlee[NUMBER_OF_ENEMY] = pMe->m_iCustomFlee;                      
			pMe->m_iEnemyScore[NUMBER_OF_ENEMY] = pMe->m_iCustomScore;                    
		}                 
	}  
}
/****************************************************************************************
*	 Name				:   Select_Enemy												*
*	 Description		:	select enemy action											*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	NULL														*
****************************************************************************************/
void Select_Enemy(BrutalFighting* pMe)
{
	if (pMe->m_ienemyNextNumber < pMe->m_ienemyNumber)
    {
        pMe->m_iselectEnemyFootworkDisplacementY = 0;
        pMe->m_ienemyPictureX += PICTURE_STEP_X;
        pMe->m_ienemyPictureY = PICTURE_OFFSET_Y;

        if (pMe->m_ienemyPictureX >= PICTURE_OFFSET_X + pMe->m_stImageG1Info.cx)
        {
            if (pMe->m_ienemyNextNumber == -1)
            {
                pMe->m_ienemyNextNumber = NUMBER_OF_ENEMY;
            }

            pMe->m_ienemyNumber = pMe->m_ienemyNextNumber;
            pMe->m_ienemyPictureX = PICTURE_OFFSET_X - pMe->m_stImageG1Info.cx;
        }
    }
    else if (pMe->m_ienemyNextNumber > pMe->m_ienemyNumber)
    {
        pMe->m_iselectEnemyFootworkDisplacementY = 0;
        pMe->m_ienemyPictureX -= PICTURE_STEP_X;
        pMe->m_ienemyPictureY = PICTURE_OFFSET_Y;

        if (pMe->m_ienemyPictureX <= PICTURE_OFFSET_X - pMe->m_stImageG1Info.cx)
        {
            if (pMe->m_ienemyNextNumber == NUMBER_OF_ENEMY + 1)
            {
                pMe->m_ienemyNextNumber = 0;
            }

            pMe->m_ienemyNumber = pMe->m_ienemyNextNumber;
            pMe->m_ienemyPictureX = PICTURE_OFFSET_X + pMe->m_stImageG1Info.cx;
        }
    }
    else if (pMe->m_ienemyNextNumber == pMe->m_ienemyNumber)
    {
        if (pMe->m_ienemyPictureX < PICTURE_OFFSET_X)
        {
            pMe->m_iselectEnemyFootworkDisplacementY = 0;
            pMe->m_ienemyPictureX += PICTURE_STEP_X;
            pMe->m_ienemyPictureY = PICTURE_OFFSET_Y;

            if (pMe->m_ienemyPictureX > PICTURE_OFFSET_X)
            {
                pMe->m_ienemyPictureX = PICTURE_OFFSET_X;
            }
        }
        else if (pMe->m_ienemyPictureX > PICTURE_OFFSET_X)
        {
            pMe->m_iselectEnemyFootworkDisplacementY = 0;
            pMe->m_ienemyPictureX -= PICTURE_STEP_X;
            pMe->m_ienemyPictureY = PICTURE_OFFSET_Y;

            if (pMe->m_ienemyPictureX < PICTURE_OFFSET_X)
            {
                pMe->m_ienemyPictureX = PICTURE_OFFSET_X;
            }
        }
        else // footwork
        {
            if (pMe->m_ienemyNextNumber == pMe->m_ienemyNumber)
            {
                pMe->m_iselectEnemyFootworkDisplacementY += pMe->m_iselectEnemyFootworkDirectionY;

                if (pMe->m_iselectEnemyFootworkDirectionY < 0 && pMe->m_iselectEnemyFootworkDisplacementY < SELECT_ENEMY_FOOTWORK_Y1)
                {
                    pMe->m_iselectEnemyFootworkDisplacementY = SELECT_ENEMY_FOOTWORK_Y1 - SELECT_ENEMY_FOOTWORK_STEP_Y;
                    pMe->m_iselectEnemyFootworkDirectionY = SELECT_ENEMY_FOOTWORK_STEP_Y;
                }
                else if (pMe->m_iselectEnemyFootworkDirectionY > 0 && pMe->m_iselectEnemyFootworkDisplacementY > SELECT_ENEMY_FOOTWORK_Y2)
                {
                    pMe->m_iselectEnemyFootworkDisplacementY = SELECT_ENEMY_FOOTWORK_Y2 + SELECT_ENEMY_FOOTWORK_STEP_Y;
                    pMe->m_iselectEnemyFootworkDirectionY = SELECT_ENEMY_FOOTWORK_STEP_Y * -1;
                }

                pMe->m_ienemyPictureY = PICTURE_OFFSET_Y + pMe->m_iselectEnemyFootworkDisplacementY;
            }
        }
    }
}
/****************************************************************************************
*	 Name				:   Adout_LoadHtmlData											*
*	 Description		:	load abouthtml data											*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	boolean														*
****************************************************************************************/
boolean Adout_LoadHtmlData(BrutalFighting* pMe)
{
	char szFilename[128];		
	AEEFileInfo   file_info;	
	SPRINTF(szFilename,"about.htm");
	if(ISHELL_CreateInstance(pMe->pIShell,AEECLSID_HTML,
		(void **)&(pMe->m_pabout))!=SUCCESS)
	{
		return FALSE;
	}
	if(ISHELL_CreateInstance(pMe->pIShell, AEECLSID_FILEMGR,
		(void **)&(pMe->m_pfaboutFileMgr))!=SUCCESS)
	{
		if(pMe->m_pabout)
			IHTMLVIEWER_Release(pMe->m_pabout);
		return FALSE;
	}
//	IHTMLVIEWER_SetType(m_pHtml,"text/html;charset=g

⌨️ 快捷键说明

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