예제 #1
0
        public AIPlayer NextPlayer()
        {
            if (player_breed == null)
            {
                player_breed = new List <AIPlayer>();

                Generate();

                generation++;
            }

            else if (next_player >= player_breed.Count)
            {
                next_player = 0;

                AIDebug.GenLog("|||||||||||||||||||||||||||||||||||||");
                AIDebug.GenLog("END OF GENERATION " + generation);

                generation++;

                ReGenerate();


                AIDebug.Warning("GENERATION RESULTS");

                foreach (AIPlayer p in player_breed)
                {
                    p.DebugChromossome();
                }
            }

            return(player_breed[next_player++]);
        }
예제 #2
0
        void EndTraining()
        {
            AIDebug.GenLog
                ("=====END OF TRAINING=====");

            CurrentPlayer.SignalTraining();
            OtherPlayer.SignalTraining();

            Player2.DebugChromossome();
            Player2 = GetPlayerFromGeneration();
        }
예제 #3
0
        public void DebugChromossome()
        {
            AIDebug.GenLog("+++++++++++++++++++");
            AIDebug.GenLog("Speciment Log: " + this.Name);
            AIDebug.GenLog("Ratio: " + Ratio + " (" + RatioScore + ")");
            AIDebug.GenLog("Best Ratio: " + best_ratio);
            AIDebug.GenLog("MM: " + MemMax);
            AIDebug.GenLog("MCS: " + MemChanceSelf);
            AIDebug.GenLog("MCO: " + MemChanceOther);

            AIDebug.GenLog("FC: " + ForgetChance);
            AIDebug.GenLog("+++++++++++++++++++");
        }