void MainLoop() { inputE.Update(); InputProcess(); GUIMgr.Update(); Renderer.ClearBackground(); NTimer.NextTick(); //update fps lable std::stringstream tmpS; tmpS <<"fps :" << NTimer.GetFPS()<<std::endl;//I wonder why this FPS is EXACTLY the half of Graphic Debug FPS myText_fps.SetTextAscii(tmpS.str()); std::stringstream tmpS2; tmpS2 << GUIScrollBar1.GetValue(); float aaaa = GUIScrollBar1.GetValue(); myText2.SetTextAscii(tmpS2.str()); //add to render list Renderer.AddObjectToRenderList(Mesh1); Renderer.AddObjectToRenderList(GraphicObjBuffer); Renderer.AddObjectToRenderList(Atmos); Renderer.AddObjectToRenderList(myText1); Renderer.AddObjectToRenderList(myText2); Renderer.AddObjectToRenderList(myText_fps); GUIMgr.AddObjectToRenderList(GUIScrollBar1); GUIMgr.AddObjectToRenderList(GUIButton1); GUIMgr.AddObjectToRenderList(GUITextBox1); //render Renderer.SetBlendingMode(NOISE_BLENDMODE_OPAQUE); Renderer.RenderMeshes(); Renderer.SetBlendingMode(NOISE_BLENDMODE_OPAQUE); Renderer.RenderAtmosphere(); Renderer.SetBlendingMode(NOISE_BLENDMODE_OPAQUE); Renderer.RenderGraphicObjects(); Renderer.SetBlendingMode(NOISE_BLENDMODE_ALPHA); Renderer.RenderGUIObjects(); Renderer.SetBlendingMode(NOISE_BLENDMODE_ALPHA); Renderer.RenderTexts(); //present Renderer.RenderToScreen(); };
int main(){ clock_t startTime = clock(); FILE *fp = fopen( "output.txt", "w" ); int pancake[SOLVE_NUM]; int swapOrder[MAX_DEPTH_SEARCH]; int pancakeLength = InputProcess(pancake, "input.txt"); int move = IterativeDeepeningSearch( swapOrder, pancake, pancakeLength ); if( move != CUTOFF ){ fprintf( fp, "An optimal solution has %d moves.\n", move ); OutputPancake( fp, pancake, pancakeLength ); for( int i = move-1 ; i >= 0 ; --i ){ SwapPancake(pancake, swapOrder[i]); OutputPancake( fp, pancake, pancakeLength ); } fprintf( fp, "Total run time = %.2f seconds.\n", (float)(clock()-startTime) / CLOCKS_PER_SEC ); } else{ fprintf( fp, "Fail...\n" ); } fclose(fp); return 0; }