private static void ExecTestGenBySim(string[] args) { //// GENERATION - JAVA if (false) { args = new string[3]; args[1] = //"frog(400, 400) cookie(100, 100) rope(200, 200, 150) rope(340, 200, 200) bubble(250, 340) blower(200, 220, 0)"; //"blower_press( 1600 ) rope_cut( 500 ) rocket_press( 2000 ) omnom_feed(1000)"; //"rope_cut( 1600 ) rope_cut( 1400 ) bubble_press( 3000 ) rocket_press( 2100 ) omnom_feed(0) "; //"blower_press( 2000 ) rope_cut( 800 ) rope_cut( 600 ) bubble_press( 2000 ) blower_press( 400 ) bumper_interaction( 1500 ) omnom_feed(0) "; //"blower_press( 1600 ) rope_cut( 400 ) rocket_press( 700 ) bumper_interaction( 1500 ) blower_press( 200 ) omnom_feed(0) "; //"rope_cut( 1000 ) omnom_feed(0) "; //"blower(100, 0 ) blower_press( 1000 ) rope( 440 , 240 , 250 ) rope_cut( 1000 ) omnom_feed(0) "; //"rope(380,140,160)rope_cut(1400)omnom_feed(0)"; //"rope( 540 , 40 , 130 ) rope_cut( 1200 ) omnom_feed(0)"; //"rope(240,220,130)rope_cut(800)rope(220,240,250)rope_cut(1200)rope(400,220,190)rope_cut(1800)omnom_feed(0)"; //"blower(100,4)blower_press(500)rope(400,240,160)rope_cut(200)rocket(1500,3)rocket_press(1800)omnom_feed(0)"; //"blower(100, 0 ) blower_press( 2000 ) rope( 400 , 160 , 130 ) rope_cut( 200 ) rope( 280 , 60 , 250 ) rope_cut( 400 ) rocket( 1000 , 1 ) rocket_press( 1000 ) omnom_feed(0) "; //"blower(100,4)blower_press(1000)rope(320,240,100)rope_cut(400)rocket(1000,2)rocket_press(1600)blower(100,4)blower_press(1000)omnom_feed(0)"; //"blower(100, 0 ) blower_press( 1000 ) rope( 520 , 60 , 220 ) rope_cut( 200 ) rope( 220 , 220 , 130 ) rope_cut( 600 ) blower(100, 4 ) blower_press( 500 ) bumper(100, 1 ) bumper_interaction( 2000 ) omnom_feed(0) "; //"rope( 260 , 100 , 100 ) rope_cut( 200 ) bumper(100, 1 ) bumper_interaction( 1000 ) bumper(100, 3 ) bumper_interaction( 1000 ) blower(100, 0 ) blower_press( 500 ) rocket( 500 , 2 ) rocket_press( 1200 ) omnom_feed(0) "; //"blower(100, 0 ) blower_press( 2000 ) rope(100, 440 , 80 , 190 ) rope_cut( 200 ) rope(100, 200 , 60 , 160 ) rope_cut( 1600 ) rope( 100, 280 , 220 , 130 ) rope_cut( 400 ) rocket( 1500 , 5 ) rocket_press( 200 ) omnom_feed(0) "; //"blower(100, 0 ) blower_press( 500 ) rope(100, 220 , 120 , 220 ) rope_cut( 600 ) rope(100, 300 , 200 , 220 ) rope_cut( 400 ) blower(100, 0 ) blower_press( 500 ) rocket( 500 , 6 ) rocket_press( 1600 ) omnom_feed(0) "; //"blower(100, 4 ) blower_press( 2000 ) rope(100, 320 , 200 , 100 ) rope_cut( 200 ) rope(100, 520 , 140 , 220 ) rope_cut( 600 ) blower(100, 0 ) blower_press( 500 ) bumper(100, 0 ) bumper_interaction( 2000 ) omnom_feed(0) "; //"blower(100,0)blower_press(500)blower(100,4)blower_press(500)rope(100,340,140,130)rope_cut(200)rocket(500,7)rocket_press(1400)bubble(1800)bubble_press(1000)omnom_feed(0)"; //"rope(100, 280 , 80 , 220 ) rope_cut( 600 ) rope(100, 540 , 220 , 220 ) rope_cut( 400 ) rope(100, 500 , 120 , 100 ) rope_cut( 200 ) rope(100, 360 , 60 , 130 ) rope_cut( 400 ) blower(100, 0 ) blower_press( 1500 ) bumper(100, 3 ) bumper_interaction( 1000 ) bubble( 600 ) bubble_press( 2000 ) omnom_feed(0) "; //"rope(100,220,120,130)rope_cut(600)rope(100,260,240,100)rope_cut(400)rope(100,540,220,160)rope_cut(600)bumper(100,0)bumper_interaction(1000)blower(100,4)blower_press(500)bubble(1600)bubble_press(2000)omnom_feed(0)"; //"rope(100,220,120,130)rope_cut(600)omnom_feed(0)"; //"rope(100,220,120,130)rope_cut(600)bumper(100,0)bumper_interaction(1000)blower(100,4)blower_press(500)bubble(1600)bubble_press(2000)omnom_feed(0)"; //"rope(100, 220 , 180 , 220 ) rope_cut( 200 ) rope(100, 520 , 80 , 100 ) rope_cut( 200 ) bubble( 600 ) bubble_press( 500 ) rocket( 2000 , 3 ) rocket_press( 1200 ) bubble( 600 ) bubble_press( 1500 ) omnom_feed(0) "; //"blower(100,0)blower_press(1500)rope(100,240,100,160)rope_cut(200)bumper(100,3)bumper_interaction(700)bubble(400)bubble_press(500)rocket(500,2)rocket_press(1800)omnom_feed(0)"; //"rope(100,480,220,190)rope_cut(600)rope(100,280,140,250)rope_cut(200)rope(100,320,120,130)rope_cut(200)rocket(2000,4)rocket_press(1200)bumper(100,3)bumper_interaction(2000)omnom_feed(0)"; //"blower(100, 0 ) blower_press( 500 ) rope(100, 520 , 40 , 160 ) rope_cut( 1000 ) rope(100, 420 , 80 , 100 ) rope_cut( 800 ) rope(100, 500 , 120 , 220 ) rope_cut( 400 ) rope(100, 340 , 100 , 100 ) rope_cut( 400 ) blower(100, 0 ) blower_press( 1000 ) rocket( 500 , 4 ) rocket_press( 800 ) rocket( 500 , 0 ) rocket_press( 200 ) omnom_feed(0) "; "rope_cut(200)rope_cut(500)blower_press(1500)rocket_press(1500)omnom_feed(0)"; //string str = // @" // rope_cut(914) // // blower_press(354) // blower_press(352) // rope_cut(1131) // // bubble_press(359) // bumper_interaction(348) // bumper_interaction(1157) // // bumper_interaction(346) // bumper_interaction(340) // omnom_feed(0) // "; // @" // rope_cut(914) // rocket_press(1500) // rocket_press(500) // omnom_feed(0) // "; //var s = MPCGHelper.ConvertFileToTTN(); args[2] = "1"; //for (int i = 0; i < 10; i++) { GenSimManager.TestGevaLevelCAAll(args, false, false); } //GenSimManager.TestGevaLevelCAAll(args, false, false); //GenSimManager.TestGevaLevelCAAll(args, false, false); //GenSimManager.GenerateGevaLevel(args, true, false, false); } else { //GenSimManager.GenerateGevaLevel(args, false, true, true); } }
public void ScatterComps() { bool succeeded = false; int attempts = 0; if (_atPairs == null) { GenSimAgent agent = new GenSimAgent(_catPairs, _isDirRandomized, _isRopesRandomized); agent.IsTesting = _isTestingOn; agent.Shotter = _isTestingOn ? new EngineShotsManager() : null; bool succeed = agent.ExecuteScatter(); WAgent = agent; } else { while (attempts < MAXTRY && !succeeded) { //for (int i = 0; i < 3; i++) //{ //Thread t = new Thread(new ThreadStart(() => //{ GenSimAgent agent = _atPairs != null ? new GenSimAgent(_atPairs) : new GenSimAgent(_catPairs, _isDirRandomized, _isRopesRandomized); agent.IsTesting = _isTestingOn; agent.Shotter = _isTestingOn ? new EngineShotsManager() : null; agent.MAXTRY = MAXTRY; if (agent.ExecuteScatter()) { WAgent = agent; WAgent.BestCTPPairs = WAgent.CATPairs; succeeded = true; } else { var fit = GenSimManager.GetFitness(agent); if (fit < bestFitSoFar) { WAgent = agent; bestFitSoFar = fit; } } //} //)); //_cThreads.Add(t); //t.Start(); //} //while (true) //{ // foreach (Thread thread in _cThreads) // { // if (!thread.IsAlive) // { // _cThreads.Remove(thread); // } // } // if (_cThreads.Count != 0) // { // // wait // Thread.Sleep(100); // } // else // { // break; // } //} //attempts += 3; attempts++; } } }