Example #1
0
 public bool LoadGeneration(string filePath, bool Encript)
 {
     if (!System.IO.File.Exists(filePath))
     {
         return(false);
     }
     SaveData.GeneticSaveData <T> save = null;
     if (Encript)
     {
         save = Utils.FileReadWrite.ReadEncryptedFromBinaryFile <SaveData.GeneticSaveData <T> >(filePath);
     }
     else
     {
         save = Utils.FileReadWrite.ReadFromBinaryFile <SaveData.GeneticSaveData <T> >(filePath);
     }
     Generation = save.Generation;
     for (int i = 0; i < save.PopulationGenes.Count; i++)
     {
         if (i >= Population.Count)
         {
             Population.Add(new DNA <T>(dnaSize, random, getRandomGene, fitnessFunction, false));
         }
         Array.Copy(save.PopulationGenes[i], Population[i].Genes, dnaSize);
     }
     return(true);
 }
Example #2
0
        public void SaveGeneration(string filePath, bool Encript)
        {
            SaveData.GeneticSaveData <T> save = new SaveData.GeneticSaveData <T>
            {
                Generation      = Generation,
                PopulationGenes = new List <T[]>(Population.Count),
            };

            for (int i = 0; i < Population.Count; i++)
            {
                save.PopulationGenes.Add(new T[dnaSize]);
                Array.Copy(Population[i].Genes, save.PopulationGenes[i], dnaSize);
            }

            if (Encript)
            {
                Utils.FileReadWrite.WriteEncryptedToBinaryFile(filePath, save);
            }
            else
            {
                Utils.FileReadWrite.WriteToBinaryFile(filePath, save);
            }
        }