public NeuralNetAiGamePlayer SpawnNewNeuralNetAiGamePlayer(NeuralNetAiGamePlayer player)
        {
            NetFactory netFactory = new NetFactory();
            Net        net        = netFactory.CreateMutatedNet(player.Net, _random, mutationFactor);

            var newPlayer = new NeuralNetAiGamePlayer(
                net,
                player.Generation + 1);

            return(newPlayer);
        }
        public NeuralNetAiGamePlayer SpawnNewNeuralNetAiGamePlayer()
        {
            NetFactory netFactory = new NetFactory();
            Net        net        = netFactory.GenerateRandomNet(NeuralNetAiGamePlayer.NetInputs, 1, 8, _random);
            var        generation = 0;

            var newPlayer = new NeuralNetAiGamePlayer(
                net,
                generation);

            return(newPlayer);
        }