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

📄 brutalfighting.c

📁 很好的韩国游戏
💻 C
📖 第 1 页 / 共 5 页
字号:
	pMe->m_iselectEnemyFootworkDisplacementY = 0;
	pMe->m_iselectEnemyFootworkDirectionY = 1;


	pMe->m_iscreenOffsetX=0;
	pMe->m_iscreenOffsetY = 0;
	pMe->m_iCustomFlag = 0;

	pMe->m_iSystemTime = 0;
	pMe->m_bGameover = FALSE;
	pMe->m_bSound = TRUE;
	pMe->m_pfmFileMgr = NULL;
	BrutalFighting_initRecord(pMe);
}
/****************************************************************************************
*	 Name				:   GetRand_Int													*
*	 Description		:	get random int												*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	NULL														*
****************************************************************************************/
static int GetRand_Int(void)
{
	int ret;
	GETRAND((byte*)&ret,sizeof(int));
	return ret;
}
/****************************************************************************************
*	 Name				:   BrutalFighting_Main_Start									*
*	 Description		:	main statr 	examine Space 									*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	NULL														*
****************************************************************************************/
static void BrutalFighting_Main_Start(BrutalFighting* pMe)
{
    uint32 pdwTotal;
	//init in Main_Start scope
	//declare source in this scope,then you free source at the end of function
	pdwTotal = IFILEMGR_GetFreeSpace(pMe->m_pfmFileMgr, NULL); 
	if(pdwTotal < 1024)
//	if(1)
	{
		pMe->m_emGameState = WIN_ID_NOSPACE;
	}
	else
	{
		pMe->m_emGameState = WIN_ID_MENU;
	}
	CALLBACK_Init(&pMe->m_cbMainTimer,(PFNNOTIFY)Main_Loop,pMe);
//	Main_Loop(pMe);
		ISHELL_SetTimerEx(pMe->pIShell , 3, &pMe->m_cbMainTimer);
}
/****************************************************************************************
*	 Name				:   BrutalFighting_SetUpRender									*
*	 Description		:	draw setup Rander											*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	NULL														*
****************************************************************************************/
void BrutalFighting_initRecord(BrutalFighting* pMe)
{
	ISHELL_CreateInstance(pMe->pIShell, AEECLSID_FILEMGR, (void**)&pMe->m_pfmFileMgr);

	if(NULL != pMe->m_pfFile)
	{
		IFILE_Release(pMe->m_pfFile);
		pMe->m_pfFile = NULL;
	}
}
/****************************************************************************************
*	 Name				:   BrutalFighting_SetUpRender									*
*	 Description		:	draw setup Rander											*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	NULL														*
****************************************************************************************/
void BrutalFighting_SetUpRender(BrutalFighting* pMe)
{
	AEERect rect;
	IDISPLAY_ClearScreen(pMe->pIDisplay);
	IIMAGE_Draw(pMe->m_pImageSetupBG, 0, 0);
	IDISPLAY_SetColor(pMe->pIDisplay, CLR_USER_TEXT, RGB_WHITE);
//	if (0 == pMe->m_iSetupStatus) 
//	{
		IIMAGE_Draw(pMe->m_pImageMenu[1],pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageMeunInfo.cx,pMe->DeviceInfo.cyScreen/5*2);
		IIMAGE_Draw(pMe->m_pImageMenu[1],pMe->DeviceInfo.cxScreen/4 * 3 ,pMe->DeviceInfo.cyScreen/5*2);
		rect.x = pMe->DeviceInfo.cxScreen/4 -  pMe->m_stImageMeunInfo.cx/2 -1;
		rect.y = pMe->DeviceInfo.cyScreen/5*2;
		rect.dx = pMe->DeviceInfo.cyScreen/4 * 3 - pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageMeunInfo.cx/2 +12;
		rect.dy = pMe->m_iFontHeight;
		IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(255,0,0),IDF_RECT_FILL);
/*	}
	else
	{
		IIMAGE_Draw(pMe->m_pImageMenu[0],pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageMeunInfo.cx,pMe->DeviceInfo.cyScreen/5 * 2);
		IIMAGE_Draw(pMe->m_pImageMenu[0],pMe->DeviceInfo.cxScreen/4 * 3 ,pMe->DeviceInfo.cyScreen/5 * 2);
		rect.x = pMe->DeviceInfo.cxScreen/4 -  pMe->m_stImageMeunInfo.cx/2 -1;
		rect.y = pMe->DeviceInfo.cyScreen/5 * 2;
		rect.dx = pMe->DeviceInfo.cyScreen/4 * 3 - pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageMeunInfo.cx/2 +2;
		rect.dy = pMe->m_iFontHeight;
		IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(144,0,0),IDF_RECT_FILL);
	}*/
	if (pMe->m_bSound) 
	{
		DrawStringC(pMe->m_strSoundON,pMe->DeviceInfo.cyScreen/5*2,pMe);
	}
	else
	{
		DrawStringC(pMe->m_strSoundOFF,pMe->DeviceInfo.cyScreen/5*2,pMe);
	}
/*	if (1 == pMe->m_iSetupStatus) 
	{
		IIMAGE_Draw(pMe->m_pImageMenu[1],pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageMeunInfo.cx,pMe->DeviceInfo.cyScreen/5 * 3);
		IIMAGE_Draw(pMe->m_pImageMenu[1],pMe->DeviceInfo.cxScreen/4 * 3 ,pMe->DeviceInfo.cyScreen/5 * 3);
		rect.x = pMe->DeviceInfo.cxScreen/4 -  pMe->m_stImageMeunInfo.cx/2 -1;
		rect.y = pMe->DeviceInfo.cyScreen/5 * 3;
		rect.dx = pMe->DeviceInfo.cyScreen/4 * 3 - pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageMeunInfo.cx/2 +2;
		rect.dy = pMe->m_iFontHeight;
		IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(255,0,0),IDF_RECT_FILL);
	}
	else
	{
		IIMAGE_Draw(pMe->m_pImageMenu[0],pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageMeunInfo.cx,pMe->DeviceInfo.cyScreen/5 * 3);
		IIMAGE_Draw(pMe->m_pImageMenu[0],pMe->DeviceInfo.cxScreen/4 * 3 ,pMe->DeviceInfo.cyScreen/5 * 3);
		rect.x = pMe->DeviceInfo.cxScreen/4 -  pMe->m_stImageMeunInfo.cx/2 -1;
		rect.y = pMe->DeviceInfo.cyScreen/5 * 3;
		rect.dx = pMe->DeviceInfo.cyScreen/4 * 3 - pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageMeunInfo.cx/2 +2;
		rect.dy = pMe->m_iFontHeight;
		IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(144,0,0),IDF_RECT_FILL);
	}
	if (pMe->m_bVibration)
	{
		DrawStringC(pMe->m_strVibractionON,pMe->DeviceInfo.cyScreen/5*3,pMe);
	}
	else
	{
		DrawStringC(pMe->m_strVibractionOFF,pMe->DeviceInfo.cyScreen/5*3,pMe);
	}*/
	DrawStringC(pMe->m_strC,pMe->DeviceInfo.cyScreen - pMe->m_iFontHeight,pMe);
	DrawStringC(pMe->m_stMainMenu.m_MenuValue[1], 10, pMe);
}
/****************************************************************************************
*	 Name				:   SetUp_HandleEvent									    	*
*	 Description		:	Handle events during in the WIN_ID_SETUP status				*
*	 Parameter			:	BrutalFighting* pMe		[IN]                                *
*                           AEEEvent eCode      [IN]						  			*
*                           uint16 wParam       [IN]									*
*							uint32 dwParam      [IN]									*
*	 Return Value		:	boolean TRUE		[OUT]									*
****************************************************************************************/
static boolean SetUp_HandleEvent(BrutalFighting* pMe, AEEEvent eCode, uint16 wParam, uint32 dwParam)
{
	switch(eCode)
	{
	case EVT_KEY:
			switch(wParam)
			{
				/*case AVK_UP:
				{
					if (0 == pMe->m_iSetupStatus) 
					{
						pMe->m_iSetupStatus = 1;
					}
					else
					{
						pMe->m_iSetupStatus--;
					}															 
				}
				return(TRUE);	
				case AVK_DOWN:
				{					
				    if (1 == pMe->m_iSetupStatus) 
					{
						pMe->m_iSetupStatus = 0;
					}
					else
					{
						pMe->m_iSetupStatus++;
					}					
				}
				return TRUE;*/
				case AVK_SELECT:
				{
					/*switch(pMe->m_iSetupStatus) 
					{
					case 0:
						if (pMe->m_bSound)
						{
							pMe->m_bSound = FALSE;
						}
						else
						{
							pMe->m_bSound = TRUE;
						}
						break;
					case 1:
						if (pMe->m_bVibration)
						{
							pMe->m_bVibration = FALSE;
						}
						else
						{
							pMe->m_bVibration = TRUE;
						}
						break;			
					}*/
					pMe->m_bSound = pMe->m_bSound ? FALSE : TRUE;
				}
				return(TRUE);			
				case AVK_CLR:	
				{
					if (pMe->m_bPause)
					{
						pMe->m_emGameState = WIN_ID_STOP;
					}
					else
					{
						pMe->m_emGameState = WIN_ID_MENU;
					}
			//	   pMe->m_stMainMenu.m_Status = MENU_NEWGAME;
				
				}
				return(TRUE);	
			}	
	}
return TRUE;
}
/****************************************************************************************
*	 Name				:   BrutalFighting_SelectRender									*
*	 Description		:	draw select Rander											*	
*	 Parameter			:	BrutalFighting* pMe			[IN]							*
*	 Return Value		:	NULL														*
****************************************************************************************/
void BrutalFighting_SelectRender(BrutalFighting* pMe)
{
	char chScore[10];
	AECHAR aechScore[10];
	AEERect rect;
	int row,red=0,green=0,blue=0;
	IDISPLAY_ClearScreen(pMe->pIDisplay);
	rect.x = pMe->DeviceInfo.cxScreen/4;
	rect.y = 0;
	rect.dx = pMe->DeviceInfo.cxScreen/2;
	rect.dy = pMe->DeviceInfo.cyScreen/3*2-10;
	IIMAGE_Draw(pMe->m_pImageSetupBG, 0, 0);	
	IDISPLAY_DrawRect(pMe->pIDisplay,&rect,MAKE_RGB(255,255,255),NULL,IDF_RECT_FRAME);
	//background
    
	red=pMe->m_iRedColor;
	green=pMe->m_iGreenColor;
	blue=pMe->m_iBlueColor;
	for ( row =  pMe->DeviceInfo.cyScreen/3*2-13; row >= 0; row--)  
	{
		rect.x=pMe->DeviceInfo.cxScreen/4 + 1;
		rect.y=0+1+row;
		rect.dx=pMe->DeviceInfo.cxScreen/2-2;
		rect.dy=1;
        IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(red,green,blue),IDF_RECT_FILL);

        red -= 5;
        if (red < 0)
       {
         red = 0;
       }

       green -= 5;
       if (green < 0)
       {
        green = 0;
       }

       blue -= 5;
       if (blue < 0)
       {
        blue = 0;
       }

     }

	// < >
	if (pMe->m_ienemyNumber>0) 
	{
		IIMAGE_Draw(pMe->m_pImagePrevious[1],
			pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageNextInfo.cx,
			pMe->DeviceInfo.cyScreen/3*2  - pMe->m_stImageNextInfo.cy -10);
		if (pMe->m_ienemyNumber<NUMBER_OF_ENEMY)
		{
			IIMAGE_Draw(pMe->m_pImageNext[1],
			pMe->DeviceInfo.cxScreen/4*3 ,
			pMe->DeviceInfo.cyScreen/3*2 - pMe->m_stImageNextInfo.cy- 10);
		}
	}
	else if (pMe->m_ienemyNumber<NUMBER_OF_ENEMY) 
	{
		IIMAGE_Draw(pMe->m_pImageNext[1],
			pMe->DeviceInfo.cxScreen/4*3 ,
			pMe->DeviceInfo.cyScreen/3*2 - pMe->m_stImageNextInfo.cy- 10);
	}

	if (pMe->m_ienemyNextNumber < pMe->m_ienemyNumber)
	{
		IIMAGE_Draw(pMe->m_pImagePrevious[0],
			pMe->DeviceInfo.cxScreen/4 - pMe->m_stImageNextInfo.cx,
			pMe->DeviceInfo.cyScreen/3*2  - pMe->m_stImageNextInfo.cy -10);
	}
	else if (pMe->m_ienemyNextNumber > pMe->m_ienemyNumber)
	{
		IIMAGE_Draw(pMe->m_pImageNext[0],
			pMe->DeviceInfo.cxScreen/4*3 ,
			pMe->DeviceInfo.cyScreen/3*2 - pMe->m_stImageNextInfo.cy- 10);
	}
	
	//body head
	rect.x = pMe->DeviceInfo.cxScreen/4+1;
	rect.y = 2;
	rect.dx = pMe->DeviceInfo.cxScreen/2 -2;
	rect.dy = pMe->DeviceInfo.cyScreen/3 * 2-10-3 ;

	IDISPLAY_SetClipRect(pMe->pIDisplay,&rect);
	//body
	IIMAGE_Draw(pMe->m_pImageG1,
				pMe->m_iscreenOffsetX + pMe->m_ienemyPictureX + pMe->DeviceInfo.cxScreen/4 - SElECT_BODY_OFFSET_X+7,
				pMe->m_iscreenOffsetY + pMe->m_ienemyPictureY + pMe->m_iselectEnemyFootworkDisplacementY - SElECT_BODY_OFFSET_Y);
	//head
	if ( 0 == pMe->m_ienemyNumber || 1 == pMe->m_ienemyNumber || NUMBER_OF_ENEMY == pMe->m_ienemyNumber)
	{
		IIMAGE_Draw(pMe->m_pImageNormal[0],
				pMe->m_iscreenOffsetX + pMe->m_ienemyPictureX + 26+pMe->DeviceInfo.cxScreen/4 - SElECT_HEAD_OFFSET_X-2,
				pMe->m_iscreenOffsetY + pMe->m_ienemyPictureY + pMe->m_iselectEnemyFootworkDisplacementY - SElECT_HEAD_OFFSET_Y+15);
	}
	else if ( 2 == pMe->m_ienemyNumber || 3 == pMe->m_ienemyNumber)
	{
		IIMAGE_Draw(pMe->m_pImageNormal[1],
				pMe->m_iscreenOffsetX + pMe->m_ienemyPictureX + 26+pMe->DeviceInfo.cxScreen/4 - SElECT_HEAD_OFFSET_X-2,
				pMe->m_iscreenOffsetY + pMe->m_ienemyPictureY + pMe->m_iselectEnemyFootworkDisplacementY - SElECT_HEAD_OFFSET_Y+15);
	}
	else if ( 4 == pMe->m_ienemyNumber || 5 == pMe->m_ienemyNumber)
	{
		IIMAGE_Draw(pMe->m_pImageNormal[2],
				pMe->m_iscreenOffsetX + pMe->m_ienemyPictureX + 26+pMe->DeviceInfo.cxScreen/4 - SElECT_HEAD_OFFSET_X-2,
				pMe->m_iscreenOffsetY + pMe->m_ienemyPictureY + pMe->m_iselectEnemyFootworkDisplacementY - SElECT_HEAD_OFFSET_Y+15);
	}
	rect.x =0;
	rect.y = 0;
	rect.dx =pMe->DeviceInfo.cxScreen;
	rect.dy = pMe->DeviceInfo.cyScreen;
    IDISPLAY_SetClipRect(pMe->pIDisplay,&rect);

	//text
	if (NUMBER_OF_ENEMY == pMe->m_ienemyNumber)
	{
		rect.x = pMe->DeviceInfo.cxScreen/10;
		if (0 == pMe->m_iCustomFlag) 
		{
			rect.y = pMe->DeviceInfo.cyScreen/3 * 2  -10 +2;
		}
		else
		{
			rect.y = pMe->DeviceInfo.cyScreen/3 * 2  -10 +3 +pMe->m_iFontHeight+2;
		}	
		rect.dx = pMe->DeviceInfo.cxScreen/8 * 7;
		rect.dy = pMe->m_iFontHeight ;
		IDISPLAY_DrawRect(pMe->pIDisplay,&rect,NULL,MAKE_RGB(0,170,153),IDF_RECT_FILL);
		IDISPLAY_DrawText(pMe->pIDisplay,AEE_FONT_NORMAL,pMe->m_strCoustom,-1,pMe->DeviceInfo.cxScreen/4 +1,pMe->DeviceInfo.cyScreen/3*2-10 - pMe->m_iFontHeight - 1,NULL,IDF_TEXT_TRANSPARENT);

⌨️ 快捷键说明

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