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

📄 cracetrack.cpp

📁 Visual C++游戏开发技术与实例一书配套光盘。包含了冒险屠宰场、入侵者、赛车、网络五子棋、网络台球、对战坦克大战和面包圈7个游戏实例的完整源代码。
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	m_surfFullRoadQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ0, 0, 0, 40, 40);

	m_surfFullRoadQ1.Create(40,40);
	m_surfFullRoadQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ1, 0, 0, 40, 40);
	
	m_surfFullRoadQ2.Create(40,40);
	m_surfFullRoadQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ2, 0, 0, 40, 40);
	
	m_surfFullRoadQ3.Create(40,40);
	m_surfFullRoadQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ3, 0, 0, 40, 40);

	m_surfFullRoadQ4.Create(40,40);
	m_surfFullRoadQ4.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ4, 0, 0, 40, 40);

	m_surfFullRoadQ5.Create(40,40);
	m_surfFullRoadQ5.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ5, 0, 0, 40, 40);

	m_surfFullRoadQ6.Create(40,40);
	m_surfFullRoadQ6.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ6, 0, 0, 40, 40);
	
	m_surfFullRoadQ7.Create(40,40);
	m_surfFullRoadQ7.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ7, 0, 0, 40, 40);

	m_surfFullRoadQ8.Create(40,40);
	m_surfFullRoadQ8.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ8, 0, 0, 40, 40);

	m_surfFullRoadQ9.Create(40,40);
	m_surfFullRoadQ9.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ9, 0, 0, 40, 40);

	m_surfFullRoadQ10.Create(40,40);
	m_surfFullRoadQ10.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ10, 0, 0, 40, 40);

	m_surfFullRoadQ11.Create(40,40);
	m_surfFullRoadQ11.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ11, 0, 0, 40, 40);

	m_surfFullRoadQ12.Create(40,40);
	m_surfFullRoadQ12.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ12, 0, 0, 40, 40);

	m_surfFullRoadQ13.Create(40,40);
	m_surfFullRoadQ13.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ13, 0, 0, 40, 40);

	m_surfFullRoadQ14.Create(40,40);
	m_surfFullRoadQ14.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ14, 0, 0, 40, 40);

	m_surfFullRoadQ15.Create(40,40);
	m_surfFullRoadQ15.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ15, 0, 0, 40, 40);

	m_surfFullRoadQ16.Create(40,40);
	m_surfFullRoadQ16.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ16, 0, 0, 40, 40);

	m_surfFullRoadQ17.Create(40,40);
	m_surfFullRoadQ17.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_FULLROADQ17, 0, 0, 40, 40);

	m_surfCurveQ0.Create(40,40, RGB(255, 255, 255));
	m_surfCurveQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_CURVEQ0, 0, 0, 40, 40);

	m_surfCurveQ1.Create(40,40, RGB(255, 255, 255));
	m_surfCurveQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_CURVEQ1, 0, 0, 40, 40);

	m_surfCurveQ2.Create(40,40, RGB(255, 255, 255));
	m_surfCurveQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_CURVEQ2, 0, 0, 40, 40);

	m_surfCurveQ3.Create(40,40, RGB(255, 255, 255));
	m_surfCurveQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_CURVEQ3, 0, 0, 40, 40);

	m_surfEndCurveQ0.Create(40,40, RGB(255, 255, 255));
	m_surfEndCurveQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDCURVEQ0, 0, 0, 40, 40);

	m_surfEndCurveQ1.Create(40,40, RGB(255, 255, 255));
	m_surfEndCurveQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDCURVEQ1, 0, 0, 40, 40);

	m_surfEndCurveQ2.Create(40,40, RGB(255, 255, 255));
	m_surfEndCurveQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDCURVEQ2, 0, 0, 40, 40);

	m_surfEndCurveQ3.Create(40,40, RGB(255, 255, 255));
	m_surfEndCurveQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDCURVEQ3, 0, 0, 40, 40);

	m_surfMediumCurveQ0P1.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ0P1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ0P1, 0, 0, 40, 40);

	m_surfMediumCurveQ0P2.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ0P2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ0P2, 0, 0, 40, 40);

	m_surfMediumCurveQ0P3.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ0P3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ0P3, 0, 0, 40, 40);

	m_surfMediumCurveQ1P1.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ1P1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ1P1, 0, 0, 40, 40);

	m_surfMediumCurveQ1P2.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ1P2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ1P2, 0, 0, 40, 40);

	m_surfMediumCurveQ1P3.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ1P3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ1P3, 0, 0, 40, 40);

	m_surfMediumCurveQ2P1.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ2P1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ2P1, 0, 0, 40, 40);
	
	m_surfMediumCurveQ2P2.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ2P2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ2P2, 0, 0, 40, 40);
	
	m_surfMediumCurveQ2P3.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ2P3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ2P3, 0, 0, 40, 40);

	m_surfMediumCurveQ3P1.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ3P1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ3P1, 0, 0, 40, 40);

	m_surfMediumCurveQ3P2.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ3P2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ3P2, 0, 0, 40, 40);

	m_surfMediumCurveQ3P3.Create(40,40, RGB(255, 255, 255));
	m_surfMediumCurveQ3P3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MEDIUMCURVEQ3P3, 0, 0, 40, 40);



	m_surfEndMediumCurveQ0P1.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ0P1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ0P1, 0, 0, 40, 40);

	m_surfEndMediumCurveQ0P2.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ0P2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ0P2, 0, 0, 40, 40);

	m_surfEndMediumCurveQ0P3.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ0P3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ0P3, 0, 0, 40, 40);

	m_surfEndMediumCurveQ1P1.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ1P1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ1P1, 0, 0, 40, 40);

	m_surfEndMediumCurveQ1P2.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ1P2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ1P2, 0, 0, 40, 40);

	m_surfEndMediumCurveQ1P3.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ1P3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ1P3, 0, 0, 40, 40);

	m_surfEndMediumCurveQ2P1.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ2P1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ2P1, 0, 0, 40, 40);
	
	m_surfEndMediumCurveQ2P2.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ2P2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ2P2, 0, 0, 40, 40);
	
	m_surfEndMediumCurveQ2P3.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ2P3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ2P3, 0, 0, 40, 40);

	m_surfEndMediumCurveQ3P1.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ3P1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ3P1, 0, 0, 40, 40);

	m_surfEndMediumCurveQ3P2.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ3P2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ3P2, 0, 0, 40, 40);

	m_surfEndMediumCurveQ3P3.Create(40,40, RGB(255, 255, 255));
	m_surfEndMediumCurveQ3P3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_ENDMEDIUMCURVEQ3P3, 0, 0, 40, 40);

	
	// 赛道三角区域
	m_surfDiagonalQ0.Create(40,40, RGB(255, 255, 255));
	m_surfDiagonalQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_DIAGONALQ0, 0, 0, 40, 40);

	m_surfDiagonalQ1.Create(40,40, RGB(255, 255, 255));
	m_surfDiagonalQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_DIAGONALQ1, 0, 0, 40, 40);

	m_surfDiagonalQ2.Create(40,40, RGB(255, 255, 255));
	m_surfDiagonalQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_DIAGONALQ2, 0, 0, 40, 40);

	m_surfDiagonalQ3.Create(40,40, RGB(255, 255, 255));
	m_surfDiagonalQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_DIAGONALQ3, 0, 0, 40, 40);

	m_surfMidDiagonalQ0.Create(40,40, RGB(255, 255, 255));
	m_surfMidDiagonalQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MIDDIAGONALQ0, 0, 0, 40, 40);

	m_surfMidDiagonalQ1.Create(40,40, RGB(255, 255, 255));
	m_surfMidDiagonalQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MIDDIAGONALQ1, 0, 0, 40, 40);

	m_surfMidDiagonalQ2.Create(40,40, RGB(255, 255, 255));
	m_surfMidDiagonalQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MIDDIAGONALQ2, 0, 0, 40, 40);

	m_surfMidDiagonalQ3.Create(40,40, RGB(255, 255, 255));
	m_surfMidDiagonalQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_MIDDIAGONALQ3, 0, 0, 40, 40);

	m_surfBlackPointQ0.Create(40,40, RGB(255, 255, 255));
	m_surfBlackPointQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_BLACKPOINTQ0, 0, 0, 40, 40);

	m_surfBlackPointQ1.Create(40,40, RGB(255, 255, 255));
	m_surfBlackPointQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_BLACKPOINTQ1, 0, 0, 40, 40);

	m_surfBlackPointQ2.Create(40,40, RGB(255, 255, 255));
	m_surfBlackPointQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_BLACKPOINTQ2, 0, 0, 40, 40);

	m_surfBlackPointQ3.Create(40,40, RGB(255, 255, 255));
	m_surfBlackPointQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_BLACKPOINTQ3, 0, 0, 40, 40);

	m_surf_HZ_StartDiagonalQ0.Create(40,40, RGB(255, 255, 255));
	m_surf_HZ_StartDiagonalQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_HZ_STARTDIAGONALQ0, 0, 0, 40, 40);

	m_surf_HZ_StartDiagonalQ1.Create(40,40, RGB(255, 255, 255));
	m_surf_HZ_StartDiagonalQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_HZ_STARTDIAGONALQ1, 0, 0, 40, 40);

	m_surf_HZ_StartDiagonalQ2.Create(40,40, RGB(255, 255, 255));
	m_surf_HZ_StartDiagonalQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_HZ_STARTDIAGONALQ2, 0, 0, 40, 40);

	m_surf_HZ_StartDiagonalQ3.Create(40,40, RGB(255, 255, 255));
	m_surf_HZ_StartDiagonalQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_HZ_STARTDIAGONALQ3, 0, 0, 40, 40);


	m_surf_HZ_EndDiagonalQ0.Create(40,40, RGB(255, 255, 255));
	m_surf_HZ_EndDiagonalQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_HZ_ENDDIAGONALQ0, 0, 0, 40, 40);

	m_surf_HZ_EndDiagonalQ1.Create(40,40, RGB(255, 255, 255));
	m_surf_HZ_EndDiagonalQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_HZ_ENDDIAGONALQ1, 0, 0, 40, 40);

	m_surf_HZ_EndDiagonalQ2.Create(40,40, RGB(255, 255, 255));
	m_surf_HZ_EndDiagonalQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_HZ_ENDDIAGONALQ2, 0, 0, 40, 40);

	m_surf_HZ_EndDiagonalQ3.Create(40,40, RGB(255, 255, 255));
	m_surf_HZ_EndDiagonalQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_HZ_ENDDIAGONALQ3, 0, 0, 40, 40);


	m_surf_VR_StartDiagonalQ0.Create(40,40, RGB(255, 255, 255));
	m_surf_VR_StartDiagonalQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_VR_STARTDIAGONALQ0, 0, 0, 40, 40);

	m_surf_VR_StartDiagonalQ1.Create(40,40, RGB(255, 255, 255));
	m_surf_VR_StartDiagonalQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_VR_STARTDIAGONALQ1, 0, 0, 40, 40);

	m_surf_VR_StartDiagonalQ2.Create(40,40, RGB(255, 255, 255));
	m_surf_VR_StartDiagonalQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_VR_STARTDIAGONALQ2, 0, 0, 40, 40);

	m_surf_VR_StartDiagonalQ3.Create(40,40, RGB(255, 255, 255));
	m_surf_VR_StartDiagonalQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_VR_STARTDIAGONALQ3, 0, 0, 40, 40);

	m_surf_VR_EndDiagonalQ0.Create(40,40, RGB(255, 255, 255));
	m_surf_VR_EndDiagonalQ0.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_VR_ENDDIAGONALQ0, 0, 0, 40, 40);

	m_surf_VR_EndDiagonalQ1.Create(40,40, RGB(255, 255, 255));
	m_surf_VR_EndDiagonalQ1.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_VR_ENDDIAGONALQ1, 0, 0, 40, 40);

	m_surf_VR_EndDiagonalQ2.Create(40,40, RGB(255, 255, 255));
	m_surf_VR_EndDiagonalQ2.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_VR_ENDDIAGONALQ2, 0, 0, 40, 40);

	m_surf_VR_EndDiagonalQ3.Create(40,40, RGB(255, 255, 255));
	m_surf_VR_EndDiagonalQ3.LoadBitmap(GetMainApp()->m_hInst, ID_ROADTYPE_VR_ENDDIAGONALQ3, 0, 0, 40, 40);

	
	// This point arrays are used to remove the polygonal regions of each tile
	// in the hit checking structure
	// When we create the race track, we create a big rectangle that consider
	// all the racetrack invalid. When we call this function, we remove the
	// polygonal regions of this big rectangle, based on 
	// the tile positions and tile types.

	POINT ptsDiagonalQ0[] = {	{2,40}, {40,40}, {40,2} };
	POINT ptsDiagonalQ1[] = {	{0,2}, {37,40}, {0,40} };
	POINT ptsDiagonalQ2[] = {	{2,0}, {41,41}, {40,0} };
	POINT ptsDiagonalQ3[] = {	{0,38}, {38,0}, {0,0} };

	POINT pts_VR_StartDiagonalQ0[] = {	{2,0}, {20,18}, {21,41}, 
										{40,41}, {40,0} };

	POINT pts_VR_StartDiagonalQ1[] = {	{0,0}, {39,0}, {19,19}, 
										{19,40}, {0,40} };

	POINT pts_VR_StartDiagonalQ2[] = {	{19,0}, {40,0}, {40,40}, 
										{0,40}, {19,20} };

	POINT pts_VR_StartDiagonalQ3[] = {	{0,0}, {19,0}, {19,20}, 
										{40,40}, {0,40} };


	POINT pts_HZ_EndDiagonalQ0[] = {	{0,40}, {22,17}, {40,17}, 
										{40,40} };

	POINT pts_HZ_EndDiagonalQ1[] = {	{0,17}, {18,17}, {40,40}, 
										{0,40} };

	POINT pts_HZ_EndDiagonalQ2[] = {	{0,0}, {40,0}, {40,18}, 
										{18,18} };

	POINT pts_HZ_EndDiagonalQ3[] = {	{0,0}, {40,0}, {21,18}, 
										{0,18} };



	POINT pts_HZ_StartDiagonalQ0[] = {	{0,17}, {23,17}, {40,0}, 
										{40,40}, {0,40} };

	POINT pts_HZ_StartDiagonalQ1[] = {	{0,0}, {18,18}, {40,18}, 
										{40,40}, {0,40} };

	POINT pts_HZ_StartDiagonalQ2[] = {	{0,0}, {40,0}, {40,40}, 
										{18,18}, {0,18} };

	POINT pts_HZ_StartDiagonalQ3[] = {	{0,0}, {40,0}, {40,18}, 
										{20,18}, {0,40} };


	POINT ptsCurveQ0[] = {	{0,16}, {12,16}, {18,11}, {19,0},
							{40,0}, {40,40}, {0,40}};

	POINT ptsCurveQ1[] = {	{0,0}, {20,0}, {21,11}, {27,17},
							{40,17}, {40,40}, {0,40}};


	POINT ptsCurveQ2[] = {	{-1,-1}, {41,-1}, {41,41}, {19,41},
							{19,26}, {12,18}, {-1,18}};

	POINT ptsCurveQ3[] = {	{-1,-1}, {40,-1}, {40,19}, {30,20},
							{20,28}, {19,41}, {-1,41}};


	POINT ptsEndCurveQ0[] = {	{40,16}, {25,17}, {19,25}, {19,40},
								{40,40}};

	POINT ptsEndCurveQ1[] = {	{0,16}, {12,17}, {20,25}, {21,40},
								{0,40}};

	POINT ptsEndCurveQ2[] = {	{18,-1}, {20,12}, {27,20}, {41,19},
								{41,-1}};

	POINT ptsEndCurveQ3[] = {	{-1,-1}, {20,-1}, {19,12}, {12,19},
								{-1,20}};
	
	POINT ptsMediumCurveQ0P1[] = {	{18,0}, {40,0}, {40,40}, {0,40},
									{11,27}, {16,13}};

	POINT ptsMediumCurveQ1P1[] = {	{-1,-1}, {21,-1}, {22,14}, {28,29},
									{38,41}, {-1,41}};

	POINT ptsMediumCurveQ2P1[] = {	{3,-1}, {41,-1}, {41,41}, {19,41},
									{18,25}, {11,11}};

	POINT ptsMediumCurveQ3P1[] = {	{-1,-1}, {36,-1}, {28,10}, {21,24},
									{21,41}, {-1,41}};

	POINT ptsMediumCurveQ0P3[] = {	{0,16}, {41,0}, {41,41}, {0,41}};
	POINT ptsMediumCurveQ1P3[] = {	{41,16}, {-1,-1}, {-1,41}, {41,41}};
	POINT ptsMediumCurveQ2P3[] = {	{-1,17}, {41,36}, {41,-1}, {-1,-1}};
	POINT ptsMediumCurveQ3P3[] = {	{-1,36}, {41,18}, {41,-1}, {-1,-1}};

	POINT ptsEndMediumCurveQ0P1[] = {	{20,40}, {20,23}, {33,0}, {40,0},
										{40,40}};

	POINT ptsEndMediumCurveQ0P3[] = {	{0,35}, {23,23}, {40,19}, {40,40},
										{0,40}};

	POINT ptsEndMediumCurveQ1P1[] = {	{5,0}, {18,20}, {19,40}, {0,40},
										{0,0}};

	POINT ptsEndMediumCurveQ1P3[] = {	{0,18}, {20,25}, {40,35}, {40,40},
										{0,40}};

	POINT ptsEndMediumCurveQ2P1[] = {	{20,0}, {21,18}, {36,40}, {40,40},
										{40,0}};

	POINT ptsEndMediumCurveQ2P3[] = {	{0,0}, {20,12}, {40,17}, {40,0},
										{0,0}};

	POINT ptsEndMediumCurveQ3P1[] = {	{20,0}, {19,15}, {5,40}, {0,40},

⌨️ 快捷键说明

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