Beispiel #1
0
        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;
    }
Beispiel #3
0
    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;
            }
        }
    }
Beispiel #4
0
    //	突然変異
    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);
    }
Beispiel #5
0
        //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();
        }
Beispiel #6
0
    //	同じサイズのリストの交叉(交叉幅を複数に)
    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]);
        }
    }
Beispiel #7
0
    //	異なるサイズのリストの交叉(交叉幅を複数に)
    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
Beispiel #9
0
        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;
    }
Beispiel #12
0
    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);
    }
Beispiel #13
0
    // 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();
    }
Beispiel #15
0
        private static void Main(string[] args)
        {
            var gameSetup = new GameInitialization();
            gameSetup.SetupGame();

            var life = new GenerationManager(
                gameSetup,
                new ConsoleRenderer()
            );
            life.StartLife();
        }
Beispiel #16
0
    // 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);
    }
Beispiel #17
0
    void Awake()
    {
        m_tetrisList = new List <Tetris>();

        //Tetris tetris;

        //	プレイ用
        //tetris = Tetris.CreateGamePlay();
        //m_tetrisList.Add(tetris);

        //	自動
        m_generationManager = new GenerationManager();
    }
Beispiel #18
0
    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();
    }
Beispiel #19
0
    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);
    }
Beispiel #20
0
    void Start()
    {
        traits = GenerationManager.FetchTraits(out individualNumber).Split('|');

        foreach (char tempChar in traits[1])
        {
            ApplyFeature(tempChar);
        }

        foreach (char tempChar in traits[0])
        {
            ApplyAttribute(tempChar);
        }
    }
Beispiel #21
0
    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);
    }
Beispiel #22
0
    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();
    }
Beispiel #23
0
    //	何もセットしなければ出力は無し
    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);
    }
Beispiel #24
0
        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
Beispiel #25
0
    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>();
    }
Beispiel #27
0
    //	突然変異無し
    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;
        }
Beispiel #29
0
    /// <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();
    }
Beispiel #31
0
        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();
                }
            }
        }
Beispiel #32
0
        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();
        }
Beispiel #33
0
	// Use this for initialization
	void Start () {
        gen_manager = gameObject.GetComponent<GenerationManager>();
		shrines = new Dictionary<Vector2, List<ShrineGrid>>();
	}
Beispiel #34
0
        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();
        }
Beispiel #35
0
    // Use this for initialization
    void Start () {
        gen_manager = gameObject.GetComponent<GenerationManager>();
        trees = new Dictionary<Vector2, List<Tree>>();
	}