///////////////////////////////////////////////////////////////////////////////////////////
//
// 主函数入口
//
//////////////////////////////////////////////////////////////////////////////////////////
int PASCAL WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow)
{
	// 初始化游戏引擎
	if( !dInitGameEngine( hInstance, lpCmdLine ) )
		return 0;

	// To do : 在此使用API更改窗口标题
	dSetWindowTitle("ARPG仙剑");
	
	//全屏
	dResizeWindow( GetSystemMetrics( SM_CXFULLSCREEN ), GetSystemMetrics( SM_CYFULLSCREEN ) );
	//隐藏鼠标
	dShowCursor( 0 );
	//播放开始界面bgm,群山飞鹤
	PlaySound(NULL, NULL, SND_PURGE);
	//PlaySound("game/data/audio/bgm_qunshan.wav", NULL, SND_ASYNC|SND_LOOP);


	// 引擎主循环,处理屏幕图像刷新等工作
	while( dEngineMainLoop() )
	{
		// 获取两次调用之间的时间差,传递给游戏逻辑处理
		float	fTimeDelta	=	dGetTimeDelta();

		// 执行游戏主循环
		GameMainLoop( fTimeDelta );
	};

	// 关闭游戏引擎
	dShutdownGameEngine();
	return 0;
}
int PASCAL WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow)
{
    int	g_iGameState = 0;
	// 初始化游戏引擎
	if( !dInitGameEngine( hInstance, lpCmdLine ) )
		return 0;

	// To do : 在此使用API更改窗口标题
	dSetWindowTitle("Lesson");

	// 引擎主循环,处理屏幕图像刷新等工作
	while( dEngineMainLoop() )
	{
		// 获取两次调用之间的时间差,传递给游戏逻辑处理
		float	fTimeDelta	=	dGetTimeDelta();
/*
        for( iLoopY = 0; iLoopY < BLOCK_COUNT; iLoopY++ )
        {
            for( iLoopX = 0; iLoopX < BLOCK_COUNT; iLoopX++ )
            {
                iOneIndex	=	XYToOneIndex( iLoopX, iLoopY );
            }
            // 数组的最后一个
			if( BLOCK_COUNT - 1 == iLoopX && BLOCK_COUNT - 1 == iLoopY )
			{
                g_iBlockState[iLoopY][iLoopX] = 0;
				g_szBlockName[iOneIndex][0] = '\0';
			}
            else
            {
                // 在当前剩余未使用到的数值里随机一个出来,赋值给二维数组
                iRandIndex	=	dRandomRange( 0, iDataCount - 1 );
                g_iBlockState[iLoopY][iLoopX] = iRandData[iRandIndex];
                strcpy( g_szBlockName[iOneIndex], dMakeSpriteName( "PictureBlock", 	g_iBlockState[iLoopY][iLoopX] ) );
                // 将该精灵移动到对应的位置
                MoveSpriteToBlock( g_szBlockName[iOneIndex], iLoopX, iLoopY );
            }

        }

        for( iLoop = iRandIndex; iLoop < iDataCount - 1; iLoop++ )
        {
            iRandData[iLoop] = iRandData[iLoop + 1];
        }
        // 剩余有效值总数减一
        iDataCount--;
*/

		// 执行游戏主循环
		GameMainLoop( fTimeDelta );
	};

	// 关闭游戏引擎
	dShutdownGameEngine();
	return 0;
}