public static int SetFitnessValueForLevel(String[] args) { GenManager.GenerateGevaLevel(args, null); String levelStr = args[1]; bool isShortestPathOnlyComparsion = args[2] != "0"; DateTime d1 = DateTime.Now; EntraAgentSimple entraAgentSimple = new EntraAgentSimple(); var res = entraAgentSimple.CheckPlayability(StaticData.EngineManager); DateTime d2 = DateTime.Now; int fitness = Int32.MaxValue; int usedNoRopes = -1; int generatedNoRopes = -1; float usageFit = -1; if (res.IsPlayable) { List <List <PolyLog> > chosenPath; EntraPathAgent pathAgent = new EntraPathAgent(entraAgentSimple); GetFitnessUsage(pathAgent.AllPaths, levelStr, isShortestPathOnlyComparsion, out usedNoRopes, out generatedNoRopes, out usageFit); fitness = (int)(40 * 0 + 60 * usageFit); } else { fitness = (int)(40 * MathHelperModule.Normalize((int)res.MinDistToFrog, 200, 50) + 60); } DateTime d3 = DateTime.Now; PrintDataToFiles(d1, d2, d3, res, fitness, args, usageFit, usedNoRopes, generatedNoRopes); return(fitness); }
public static void SetFitnessValueForLevel(String[] args, List <Point> designerPath) { GenManager.GenerateGevaLevel(args, null); bool isOrdering = args[2] != "0"; //EngineShotsManager shots = new EngineShotsManager(); //shots.TakeEngineShot(false); DateTime d1 = DateTime.Now; EntraPlusGenManager.SetFitnessValueForLevel(args); EntraAgentSimple entraAgentSimple = new EntraAgentSimple(); var res = entraAgentSimple.CheckPlayability(StaticData.EngineManager); DateTime d2 = DateTime.Now; int fitness = Int32.MaxValue; if (res.IsPlayable) { EntraPathAgent pathAgent = new EntraPathAgent(entraAgentSimple); fitness = pathAgent.GetFitnessValue(designerPath, isOrdering); } else { fitness = 100; //40 * (int)MathHelperModule.Normalize((int)res.MinDistToFrog, 400, 0) + 60; } DateTime d3 = DateTime.Now; int t1 = (int)(d2 - d1).TotalMilliseconds; int t2 = (int)(d3 - d2).TotalMilliseconds; //if (res.IsPlayable) //PRINTING { string strFile = "0" + "\t" + res.IsPlayable + "\t" + fitness + "\t" + res.MinDistToFrog + "\t" + t1 + "\t" + t2 + "\t" + (t1 + t2) + "\t" + String.Format("{0:0.00}", fitness) + "\t" + args[1]; StreamWriter sw = new StreamWriter(@"C:\CTREngine\AllEntraPathEvolvedLevels.txt", true); sw.WriteLine(strFile); sw.Flush(); sw.Close(); } StreamWriter swGEVA = new StreamWriter(@"C:\CTREngine\PlayabilityVal_ZGTREngine.txt"); swGEVA.WriteLine(fitness); swGEVA.Close(); }
private static void RunEntraAgent(string[] args) { IsTestingEntra = true; GenManager.GenerateGevaLevel(args, StaticData.EntraImageInput); EntraAgentSimple entraAgentSimple = new EntraAgentSimple(); var res = entraAgentSimple.CheckPlayability(StaticData.EngineManager); EntraDrawer.DrawIntoFileTesting(res.ReachableSpace); }
public static void ShowTestResult(String[] args) { GenManager.GenerateGevaLevel(args, StaticData.EntraImageInput); //EngineShotsManager shots = new EngineShotsManager(); //shots.TakeEngineShot(StaticData.EntraImageInput); EntraAgentSimple entraAgentSimple = new EntraAgentSimple(); var res = entraAgentSimple.CheckPlayability(StaticData.EngineManager); EntraDrawer.DrawIntoFileTesting(res.ReachableSpace); EntraPathAgent pathAgent = new EntraPathAgent(entraAgentSimple); pathAgent.DrawPaths(); }
public static void SetFitnessValueForLevelTest(String[] args, int counter) { GenManager.GenerateGevaLevel(args, null); String levelStr = args[1]; bool isShortestPathOnlyComparsion = args[2] != "0"; DateTime d1 = DateTime.Now; EntraAgentSimple entraAgentSimple = new EntraAgentSimple(); var res = entraAgentSimple.CheckPlayability(StaticData.EngineManager); DateTime d2 = DateTime.Now; int fitness = Int32.MaxValue; int usedNoRopes = -1; int generatedNoRopes = -1; float usageFit = -1; if (res.IsPlayable) { EntraPathAgent pathAgent = new EntraPathAgent(entraAgentSimple); GetFitnessUsage(pathAgent.AllPaths, levelStr, isShortestPathOnlyComparsion, out usedNoRopes, out generatedNoRopes, out usageFit); fitness = (int)(40 * 0 + 60 * usageFit); EngineShotsManager shots = new EngineShotsManager(); shots.TakeEngineShot(StaticData.EntraImageInput); pathAgent.DrawShortestPath(counter); } else { fitness = (int)(40 * MathHelperModule.Normalize((int)res.MinDistToFrog, 300, 50) + 60); } DateTime d3 = DateTime.Now; StreamWriter sw = new StreamWriter(@"PolysTesting\test.txt", true); sw.WriteLine(res.IsPlayable + "\t" + fitness + "\t" + usedNoRopes + "\t" + generatedNoRopes + "\t" + String.Format("{0:0.00}", usageFit)); sw.Close(); //PrintDataToFiles(d1, d2, d3, res, fitness, args); }
public static void PrintEffetivceSpace(String[] args, bool withLevelImage, int i) { if (withLevelImage) { String strImage = StaticData.EntraImageInput; GenManager.GenerateGevaLevel(args, strImage); EntraAgentSimple entraAgentSimple = new EntraAgentSimple(); var res = entraAgentSimple.CheckPlayability(StaticData.EngineManager); EntraDrawer.DrawIntoFileGeva(res.ReachableSpace, true, i); } else { GenManager.GenerateGevaLevel(args, null); EntraAgentSimple entraAgentSimple = new EntraAgentSimple(); var res = entraAgentSimple.CheckPlayability(StaticData.EngineManager); EntraDrawer.DrawIntoFileGeva(res.ReachableSpace, false, i); } }
public static void SetFitnessValueForLevel(String[] args) { GenManager.GenerateGevaLevel(args, null); EntraAgentSimple entraAgentSimple = new EntraAgentSimple(); DateTime d1 = DateTime.Now; float fitness = 0; // Shortcut Vector2 cPos = StaticData.EngineManager.CookieRB.PositionXNACenter2D; Vector2 fPos = StaticData.EngineManager.FrogRB.PositionXNACenter2D; EntraResult res = null; if ((cPos - fPos).Length() < 125) { fitness = 1000; } else { res = entraAgentSimple.CheckPlayability(StaticData.EngineManager); if (res.IsPlayable) { fitness = 0; } else { fitness = res.MinDistToFrog; } } DateTime d2 = DateTime.Now; bool isPlayable = false; if (res != null) { isPlayable = res.IsPlayable; } else { isPlayable = false; } string strFile = "0" + "\t" + isPlayable + "\t" + (d2 - d1).TotalMilliseconds + "\t" + String.Format("{0:0.00}", fitness) + "\t" + args[1]; if (isPlayable) { StreamWriter sw = new StreamWriter(@"C:\CTREngine\EntraGenPlayableLevels.txt", true); sw.WriteLine(strFile); sw.Flush(); sw.Close(); } else { StreamWriter sw = new StreamWriter(@"C:\CTREngine\EntraGenNonPlayableLevels.txt", true); sw.WriteLine(strFile); sw.Flush(); sw.Close(); } StreamWriter swGEVA = new StreamWriter(@"C:\CTREngine\PlayabilityVal_ZGTREngine.txt"); swGEVA.WriteLine(fitness); swGEVA.Close(); }