コード例 #1
0
    public void Awake()
    {
        if (NeuroEvolution.members.Count == 0)
        {
            if (DnaDataManager.LoadToNeuroEvolution(dataFileName))
            {
                Debug.Log("Load succesfull");
            }
            else
            {
                NeuroEvolution.StartNewPopulation(populationSize, 8, 4, 6);
                Debug.Log("Starting New Popy");
            }
        }
        else if (NeuroEvolution.trainQ.Count == 0)
        {
            NeuroEvolution.Evolve();
            Debug.Log("Evolving");
            DnaDataManager.Save(dataFileName);
        }

        List <string> s = NeuroEvolution.GetStats(3);

        for (int i = 0; i < s.Count; i++)
        {
            Debug.Log(s[i]);
        }
        if (train)
        {
            StartCoroutine(restart());
        }
    }
コード例 #2
0
    public static bool LoadToNeuroEvolution(string resourcesFileName)
    {
        data = DnaDataManager.LoadDna(resourcesFileName);

        if (data != null)
        {
            data.SaveDNA(data.DeserializeDNA(), Application.persistentDataPath + "/temp");

            NeuroEvolution.LoadMembers(Application.persistentDataPath + "/temp");
            for (int i = 0; i < NeuroEvolution.members.Count; i++)
            {
                NeuroEvolution.trainQ.Enqueue(NeuroEvolution.members[i]);
            }
            return(true);
        }
        else
        {
            return(false);
        }
    }