public MainView() { InitializeComponent(); manager= new GenerationManager(); _colorsToGenerateFrom = Helper.GenetareColors(9); }
// Use this for initialization void Awake() { if (instance == null) { instance = this; tilePool = GameObject.FindGameObjectWithTag("EventSystem").GetComponent <TilePool>(); GenerationMap = this.gameObject.AddComponent <GameMap>(); GenerationMap.AttachMapGameObject(); forestGenerator = this.gameObject.GetComponent <ForestGenerator>(); GenerationMap.AttachForestGenerator(forestGenerator); GenerationMap.AttachTiles(); CreatePaths.AttachMap(GenerationMap); CreatePaths.AttachTiles(GetCurrentBiomeTileSet().Road, GetCurrentBiomeTileSet().Shallows, GetCurrentBiomeTileSet().Water); displaySelected = canvas.GetComponent <DisplaySelected>(); } else { instance.tilePool = this.gameObject.GetComponent <TilePool>(); instance.canvas = GameObject.FindGameObjectWithTag("Canvas").GetComponent <Canvas>(); Destroy(this); } gamePlayCam = cam1.GetComponent <Camera>(); gamePlayCam.enabled = true; topDownCam = cam2.GetComponent <Camera>(); topDownCam.enabled = false; testingPhaseCanvas.enabled = false; }
void Update() { if (Input.GetButtonDown("GUI")) { active = !active; Toggle(); if (Time.timeScale == 1) { Time.timeScale = 0; } else if (Time.timeScale == 0) { Time.timeScale = 1; } } if (active) { if (Input.GetKeyDown(KeyCode.Escape)) { GenerationManager.ResetWave(); active = false; Toggle(); Time.timeScale = 1; } } }
// 突然変異 public void mutation() { List <int> listA = new List <int>(); for (int i = 0; i < 100; i++) { listA.Add(i);; } List <int> resultList; resultList = GenerationManager.mutation(listA, 10); int changed_count = 0; for (int i = 0; i < 100; i++) { if (listA[i] != resultList[i]) { changed_count++; } } // 多くても指定確率分の回数、少なくても1回は変更が行われる Assert.IsTrue(changed_count > 0 && changed_count <= 10, "変更回数=" + changed_count); }
//TODO : this run method is burried in callbacks for UI. Stack is _ugly_ public void Run() { var initPipeline = InitPipeline.Create(graph => { var generatorInitializer = InitLambda.Action("InitializeGenerators", () => { GenerationManager .Initialize(_settings.SeedValue); }); graph.AddItem(generatorInitializer); var startGame = InitLambda.Action("Start Game", () => SceneManager.LoadScene("GameWorld")); var startNode = graph.AddItem(startGame); startNode.DependsOn(generatorInitializer); }); initPipeline.OnStepCompleted += (sender, args) => { if (args.CompletedStepName != null) { Debug .Log($"{args.CompletedStepName} {args.CompletedSteps}/{args.TotalSteps}"); } }; initPipeline.Run(); }
// 同じサイズのリストの交叉(交叉幅を複数に) public void calcCrossoverSameSizeMultiBound() { List <int> a, b; a = new List <int>(); b = new List <int>(); for (int i = 0; i < 10; i++) { a.Add(i); b.Add(10 + i); } List <List <int> > list; list = GenerationManager.calcCrossover(a, b, 3); Assert.AreEqual(2, list.Count); Assert.AreEqual(10, list[0].Count); Assert.AreEqual(10, list[1].Count); int[] expectedA = new int[] { 0, 1, 2, 13, 14, 15, 6, 7, 8, 19 }; int[] expectedB = new int[] { 10, 11, 12, 3, 4, 5, 16, 17, 18, 9 }; for (int i = 0; i < 10; i++) { Assert.AreEqual(expectedA[i], list[0][i]); Assert.AreEqual(expectedB[i], list[1][i]); } }
// 異なるサイズのリストの交叉(交叉幅を複数に) public void calcCrossoverDifferentSizeMultiBound() { List <int> a, b; a = new List <int>(); b = new List <int>(); for (int i = 0; i < 10; i++) { a.Add(i); } for (int i = 0; i < 16; i++) { b.Add(10 + i); } List <List <int> > list; list = GenerationManager.calcCrossover(a, b, 3); Assert.AreEqual(2, list.Count); Assert.AreEqual(10, list[0].Count); Assert.AreEqual(16, list[1].Count); // サイズが違っていた場合、あふれた分は交叉対象にならない int[] expectedA = new int[] { 0, 1, 2, 13, 14, 15, 6, 7, 8, 19 }; int[] expectedB = new int[] { 10, 11, 12, 3, 4, 5, 16, 17, 18, 9, 20, 21, 22, 23, 24, 25 }; for (int i = 0; i < 10; i++) { Assert.AreEqual(expectedA[i], list[0][i]); } for (int i = 0; i < 16; i++) { Assert.AreEqual(expectedB[i], list[1][i]); } }
void Start() { base.IMass = 1f;//REAL MASS OF UNIT if (SimulationManager.Get().addRigidBodyCollider == false) { base.IMaxForce = 0.06f; base.IMaxSpeed = 0.06f; } if (SimulationManager.Get().addRigidBodyCollider) { base.IMaxForce = 3.5f; base.IMaxSpeed = 3.5f; } if (SimulationManager.Get().runSimulation) { runSimulation = true; } base.VisionRadius = (this.gameObject.GetComponent <SphereCollider>().radius * 2) * 1.9f; rb = GetComponent <Rigidbody>(); //rb.velocity = base.velocity; //rb.mass = base.IMass = 1; agentRadius = this.gameObject.GetComponent <SphereCollider>().radius; base.energyDecreasingFactor = 0.05f; //base.energyLevel = 650f; // 650 maH --> litjuim batter capacity that we are using base.energyCapacity = 650f; // 650 maH --> litjuim batter capacity that we are using // if (base.heliumLevel < 0) base.heliumLevel = 0; ///////////////////////////////VARIABLE INITIALIZATION//////////////////////////////// // NON STATIC PUBLIC VARIABLE INITIALIZATION agentPopulation = GameObject.Find("AgentPopulation"); // create variable to store game object that holds script top reference AP = agentPopulation.GetComponent <AgentPopulation>(); // store script to reference in variable generationManager = GameObject.Find("GenerationManager"); GM = generationManager.GetComponent <GenerationManager>(); pixelPopulation = GameObject.Find("PixelPopulation"); pixelPop = pixelPopulation.GetComponent <PixelPopulation>(); scalarField = GameObject.Find("ScalarField2D"); SF = scalarField.GetComponent <ScalarField2D>(); ///////////////////////////////METHOD INITIALIZATION//////////////////////////////// } // END START
public ACOHandler(SchedulingPeriod inputData) { InputData = inputData; StartDate = DateTime.Parse(InputData.StartDate); EndDate = DateTime.Parse(InputData.EndDate); NurseNumber = inputData.Employees.Employee.Count; GenerationManager = new GenerationManager(InputData); Evaluator = new Evalutador(InputData); WParam = new double[inputData.Skills.Skill.Count]; for (int i = 0; i < inputData.Skills.Skill.Count; i++) { GradeIndex.Add(inputData.Skills.Skill.ElementAt(i), i); WParam[i] = i + 1; } var orderedShifts = inputData.ShiftTypes.Shift.ToList(); orderedShifts.ForEach(x => ShiftPatternIndex.Add(x.ID, orderedShifts.IndexOf(x))); for (int i = 0; i < EndDate.Subtract(StartDate).Days + 1; i++) { DayIndex[StartDate.AddDays(i).DayOfWeek.ToString()].Add(i); } InitiazeCoverRequirements(); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); GenerationManager gameManager = (GenerationManager)target; if (GUILayout.Button("Generate All")) { gameManager.GenerateWorld(); gameManager.GenerateSun(); } GUILayout.BeginHorizontal(); if (GUILayout.Button("Generate World")) { gameManager.GenerateWorld(); } if (GUILayout.Button("Generate Sun")) { gameManager.GenerateSun(); } GUILayout.EndHorizontal(); }
private void Awake() { if (_instance != null) { Destroy(gameObject); } _instance = this; }
public void CalculateFitnessScore() { if (GenerationManager.Tutorial) { return; } fitnessScore = 0; fitnessScore += (totalDamage * damageModifier); fitnessScore += (totalAlmostDamage * almostDamageModifier); string weaponType; float distanceBonus = AverageDistance; if (distanceBonus < 2) { distanceBonus = 2; } if (distanceBonus > 8) { distanceBonus = 8; } if (hasMelee && !playerHasMelee) { distanceBonus = (8 - distanceBonus); weaponType = "Melee"; } else if (!hasMelee && playerHasMelee) { distanceBonus = (distanceBonus - 2); weaponType = "Ranged"; } else { distanceBonus = 3; weaponType = "Same as player"; } fitnessScore += distanceBonus * distanceModifier; fitnessScore += (timeAlive * timeModifier); GenerationManager.SetFitnessScore(individualNumber, fitnessScore); //*Logging*// GenLogManager.LogIndividual(individualNumber, weaponType, new float[] { totalDamage, damageModifier }, new float[] { totalAlmostDamage, almostDamageModifier }, new float[] { distanceBonus, distanceModifier }, new float[] { timeAlive, timeModifier }, fitnessScore); }
// Start is called before the first frame update void Start() { //prepare //startgeneration generationManager = new GenerationManager(UnityToNum(origin), prefabConditions); generationManager.ChooseFittingUnity = ChooseFittingUnity; generationManager.Generate(); }
public static void SaveSimulation(GenerationManager manager) { Debug.Log(DateTime.Now + " Rozpoczynam zapisanie pliku"); BinaryFormatter bf = new BinaryFormatter(); FileStream stream = new FileStream(Application.persistentDataPath + "/Symulation.op", FileMode.Create); Data data = new Data(manager); bf.Serialize(stream, data); stream.Close(); }
private static void Main(string[] args) { var gameSetup = new GameInitialization(); gameSetup.SetupGame(); var life = new GenerationManager( gameSetup, new ConsoleRenderer() ); life.StartLife(); }
// Use this for initialization void Start() { units = new Dictionary <UnitT, GameObject>() { { UnitT.MELEE, melee }, { UnitT.RANGED, ranged }, { UnitT.SCOUT, scout }, { UnitT.ARTIL, artillery } }; generationManager = new GenerationManager(stratManager); }
void Awake() { m_tetrisList = new List <Tetris>(); //Tetris tetris; // プレイ用 //tetris = Tetris.CreateGamePlay(); //m_tetrisList.Add(tetris); // 自動 m_generationManager = new GenerationManager(); }
void Update() { // Grab the generation manager instance if we don't have it yet if (!mGenerationManager) { mGenerationManager = GameObject.FindObjectOfType <GenerationManager>(); } // Run our block through its required updates Rescale(); Reposition(); UpdateSpacialProperties(); }
public void createCombinationLess() { List <int> list; List <List <int> > combList; list = new List <int>(); // 組み合わせる数が要素よりも大きい場合も正常に動く list.Add(1); list.Add(2); combList = GenerationManager.createCombination(list, 3); Assert.AreEqual(0, combList.Count); }
void Start() { traits = GenerationManager.FetchTraits(out individualNumber).Split('|'); foreach (char tempChar in traits[1]) { ApplyFeature(tempChar); } foreach (char tempChar in traits[0]) { ApplyAttribute(tempChar); } }
public void selectRandomOver() { List <int> selected; List <int> list = new List <int>(); for (int i = 0; i < 10; i++) { list.Add(i); } selected = GenerationManager.selectRandom(list, 15); // 参照元を超えて選択されない Assert.AreEqual(10, selected.Count); }
void Start() { AllNationData.Init(); GeneratorSettings.Initialize(); s_generation_manager = this; m_content = new List <GameObject>(); m_log_content = new List <GameObject>(); load_layouts(); load_nation_data(); update_nations(); hide_controls(); }
// 何もセットしなければ出力は無し public void calcCrossoverEmptyInput() { List <int> a, b; a = new List <int>(); b = new List <int>(); List <List <int> > list; list = GenerationManager.calcCrossover(a, b, 1); Assert.AreEqual(2, list.Count); Assert.AreEqual(0, list[0].Count); Assert.AreEqual(0, list[1].Count); }
void Start() { generationManager = GameObject.Find("GenerationManager"); GM = generationManager.GetComponent <GenerationManager>(); pixelPopualtion = GameObject.Find("PixelPopulation"); pixelPop = pixelPopualtion.GetComponent <PixelPopulation>(); cancelledAgentList = new KdTree <Agent>(); startTime = Time.time; if (SimulationManager.Get().is2D) { InitializeAgents2DArray(populationCount); IntiPopulation = true; } if (SimulationManager.Get().is3D) { InitializeAgents3DArray(populationCount); range = SharpMatter.SharpMath.SharpMath.Range(populationList.Count); IntiPopulation = true; } Parent(); AgentName(); InitializeState(); string filePath = SimulationManager.Get().ClusterOrganizationFilePath; string fileName = "OrganizationInitialState" + ".txt"; StreamWriter writer = new StreamWriter(filePath + fileName); // StreamWriter writer = new StreamWriter(@"C:\Users\nicol\Documents\Architecture\1.AADRL\Term 4\Data\SimulationData\3D\Cluster\Init state\OrganizationInitialState.txt"); for (int i = 0; i < populationList.Count; i++) { string outPut = populationList[i].gameObject.transform.position.x.ToString() + "," + populationList[i].gameObject.transform.position.z.ToString() + "," + populationList[i].gameObject.transform.position.y.ToString(); writer.WriteLine(outPut); } writer.Close(); } // END START
public void selectRandom() { List <int> selected; List <int> list = new List <int>(); for (int i = 0; i < 10; i++) { list.Add(i); } // 選択された要素は指定数のみ selected = GenerationManager.selectRandom(list, 3); Assert.AreEqual(3, selected.Count); // 重複していない Assert.IsTrue((selected[0] != selected[1]) && (selected[1] != selected[2]) && (selected[2] != selected[0])); }
void Start() { //Find Engine mainEngine = transform.Find("Engine").GetComponent <Rigidbody>(); engineFire = mainEngine.GetComponentInChildren <ParticleSystem>().main; engineFire.startLifetime = 0; //Find thruster sideThruster = new Rigidbody[4]; sideThruster[0] = transform.Find("Top/T1").GetComponent <Rigidbody>(); sideThruster[1] = transform.Find("Top/T2").GetComponent <Rigidbody>(); sideThruster[2] = transform.Find("Top/T3").GetComponent <Rigidbody>(); sideThruster[3] = transform.Find("Top/T4").GetComponent <Rigidbody>(); //Find GenerationManager generationManager = GameObject.Find("Main Camera").GetComponent <GenerationManager>(); }
// 突然変異無し public void mutationNoChange() { List <int> listA = new List <int>(); for (int i = 0; i < 100; i++) { listA.Add(i);; } List <int> resultList; resultList = GenerationManager.mutation(listA, 0); for (int i = 0; i < 100; i++) { Assert.AreEqual(listA[i], resultList[i]); } }
private void Update() { switch (_state) { case SimulationState.Created: _player = Instantiate(ConfigManager.UnityProperties.PlayerPrefab); var spawnPosition = GenerationManager.GetHeight(0, 0) + 1; _player.Initialize(new Vector3(0, spawnPosition, 0)); _world = new World(ConfigManager.Properties.BlockWorldScale, transform.position); _state = SimulationState.Started; break; case SimulationState.Started: _world.Initialize(_player, 4); _state = SimulationState.Initializing; break; case SimulationState.Initializing: _mat = BlockFactory.BlockMaterialInstance; _state = SimulationState.Running; break; case SimulationState.Running: if (_world.CanEnterChunk(_player.Position)) { //TODO : enable player } var delta = DateTime.Now - _lastUpdate; _world.Update((float)delta.TotalSeconds); if (Input.GetKeyDown(KeyCode.O)) { DebugManager.ShowChunkBounds = !DebugManager.ShowChunkBounds; } if (Input.GetKeyDown(KeyCode.I)) { DebugManager.ShowVisibility = !DebugManager.ShowVisibility; } break; default: throw new ArgumentOutOfRangeException(); } _lastUpdate = DateTime.Now; }
/// <summary> /// Initializes the GenerationManager object and makes it a singleton. /// </summary> void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } offspringChromosome = new Chromosome(); currentPopulation = new List <AgentController>(); possibleInputs = new int[] { (int)KeyCode.RightArrow, (int)KeyCode.Space }; uim = GetComponent <UIManager>(); Time.timeScale = timeScale; }
private void Start() { AllNationData.Init(); GeneratorSettings.Initialize(); s_generation_manager = this; m_content = new List <GameObject>(); m_log_content = new List <GameObject>(); Application.logMessageReceived += handle_log; load_name_data(); load_layouts(); load_nation_data(); update_nations(); hide_controls(); OnBorderColorUpdate(); OnOverlayColorUpdate(); }
public void Load() { if (multipleSaves) { _id = SaveReferences.saveData[SaveReferences.load.value]; GenerationManager t_generationManager = GenerationManager.Instance; SceneManager t_sceneManager = SceneManager.Instance; if (t_sceneManager != null) { t_sceneManager.ClearAllData(); Build(); } if (t_generationManager != null) { t_generationManager.Init(); } } }
public static void Main(string[] args) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); GenerationManager gm = new GenerationManager(); while (gm.Running) { Individual bestSoFar = gm.getNextGenerationTournamentStyle(); Console.WriteLine("Gen" + gm.GenerationCount + " " + bestSoFar.Fitness + " | " + bestSoFar.ToString()); if (gm.GenerationCount > Settings.HardResetGenerationCount) { gm = new GenerationManager(); } } stopWatch.Stop(); Console.WriteLine("Total time elapsed: " + stopWatch.Elapsed); Console.Read(); }
// Use this for initialization void Start () { gen_manager = gameObject.GetComponent<GenerationManager>(); shrines = new Dictionary<Vector2, List<ShrineGrid>>(); }
public static void Main(string[] args) { GenerationManager gm = new GenerationManager(); //var operand = new Operand(OperandEnum.x); //var operand2 = new Operand(OperandEnum.three); //var operat = new Operator(OperatorEnum.add, operand, operand2); //var indiv = new Individual(operat); //indiv.Grow(); //Console.WriteLine("\n{0}", indiv.TreeSize); //Operator op = new Operator(OperatorEnum.multiply, operat, operand); //int i; //Console.WriteLine("{0}", Settings.MaxTreeCrossoverHeight); //for (i = 0; i < 26; i++) //{ // Console.WriteLine("{0}", i); // operand2 = new Operand(); // op = new Operator(OperatorEnum.multiply, operat, operand2); // operat = op; // Console.WriteLine("\n--{0}\n", op.Size()); //} //Console.WriteLine("\n--{0}\n", op.Size()); //var ind = new Individual(op); //ind.Shrink(); //Console.WriteLine("\n{0}", ind.TreeSize); //int i; //for (i = 0; i < 10; i++) //{ // Individual test1 = new Individual(); // Individual test2 = new Individual(); // Console.WriteLine("{0} | {1}", test1.ToString(), test2.ToString()); // var crossoverTest = gm.crossover(test1, test2); // Console.WriteLine("{0}\n", crossoverTest.ToString()); //} //Console.WriteLine(test1.ToString()); //Console.WriteLine(test1.TreeSize); //Console.WriteLine(test2.ToString()); //List<Individual> test = gm.crossover(test1, test2); //Console.WriteLine(test[0].ToString()); //Console.WriteLine(test[1].ToString()); while (gm.Running) { Console.Write("\r{0}", "Gen" + gm.GenerationCount); Individual bestSoFar = gm.getNextGenerationTournamentStyle(); //Individual bestSoFar = gm.getNextGeneration(); //Console.ReadKey(); //gm.printCurrentGenerationToConsole(); //Console.WriteLine("Gen" + gm.GenerationCount + " " + bestSoFar.Fitness + " | " + bestSoFar.ToString()); // Console.WriteLine("------------"); // Console.ReadKey(); if (gm.GenerationCount > Settings.HardResetGenerationCount) { gm = new GenerationManager(); } } ////Testing GetRandomNode(isOperator) //var ind = new Individual(); //var operat = ind.GetRandomNode(true); //var operend = ind.GetRandomNode(false); //Console.WriteLine("{0}\n", ind.ToString()); //try //{ // var oTor = (Operator)operat; // Console.WriteLine("{0}\n", oTor.ToString()); //} //catch (Exception e) //{ // Console.WriteLine("Operator error\n"); //} //try //{ // Console.WriteLine("{0}\n", operend.ToString()); // var oRend = (Operand)operend; // Console.WriteLine("{0}\n", oRend.ToString()); //} //catch (Exception e) //{ // Console.WriteLine("Operand Error\n"); //} //Testing CreateCopy //var ind = new Individual(); //var copy = ind.CreateCopy(); //Console.WriteLine("{0}\n{1}",ind.ToString(), copy.ToString()); //while (!ind.Mutate()) ; //Console.WriteLine("{0}\n{1}", ind.ToString(), copy.ToString()); //Individual.GoalEval = eval; //var list = new List<Individual>(); //int i; //for (i = 0; i < 100; i++) //{ //var ind = new Individual(); //Console.WriteLine("{0} -- {1}\n", ind.TreeSize, Settings.MaxTreeHeight); //list.Add(ind); //if (ind.TreeSize > Settings.MaxTreeHeight ) //{ // Console.WriteLine("{0}\n", ind.ToString()); // var root = ind.Root; // Console.WriteLine("HasParent: {0} | HasChild: {1} | IsleftChild: {2}\n", root.HasParent(), root.HasChildren(), root.IsLeftChild); // var left = root.Left; // Console.WriteLine("\tHasParent: {0} | HasChild: {1} | IsleftChild: {2}\n", left.HasParent(), left.HasChildren(), left.IsLeftChild); // var right = root.Right; // Console.WriteLine("\tHasParent: {0} | HasChild: {1} | IsleftChild: {2}\n", right.HasParent(), right.HasChildren(), right.IsLeftChild); // individualCount++; //} //generationCount++; //var tree = new Operator(); //if (tree.ToString().Contains('x')) //{ // Console.WriteLine("{0} : {1} : {2}\n", tree.ToString(), tree.Size(), tree.Evalate(1)); // count++; //} ////if(tree.Mutate()) // Console.WriteLine("{0} : {1}\n\n", tree.ToString(), tree.Evalate(1)); //Console.WriteLine("{0} {1}\n", ind.ToString() ,ind.CalculateFitness()); //Console.WriteLine("{0}\n", ind.GetRandomNode().ToString()); //} //Console.WriteLine(generationCount); Console.Read(); }
// Use this for initialization void Start () { gen_manager = gameObject.GetComponent<GenerationManager>(); trees = new Dictionary<Vector2, List<Tree>>(); }