public WeightedAiGamePlayer SpawnNewWeightedAiGamePlayer(WeightedAiGamePlayer player) { var newPlayer = new WeightedAiGamePlayer( _random.NextDouble(player.NextAvailableMoveCountWeight, mutationFactor), _random.NextDouble(player.OpponentNextAvailableMoveCountWeight, mutationFactor), _random.NextDouble(player.NextMovePiecesAtRiskWeight, mutationFactor), _random.NextDouble(player.NextMovePiecesToTakeWeight, mutationFactor), _random.NextDouble(player.KingWeight, mutationFactor), _random.NextDouble(player.NextMoveKingWeight, mutationFactor), _random.NextDouble(player.OpponentNextMoveKingWeight, mutationFactor), player.Generation + 1); return(newPlayer); }
public WeightedAiGamePlayer SpawnNewWeightedAiGamePlayer() { var nextAvailableMoveCountWeight = (_random.NextDouble() * 2) - 1; var opponentAvailableMoveCountWeight = (_random.NextDouble() * 2) - 1; var nextMovePiecesAtRiskWeight = (_random.NextDouble() * 2) - 1; var nextMovePiecesToTakeWeight = (_random.NextDouble() * 2) - 1; var kingWeight = (_random.NextDouble() * 2) - 1; var nextMoveKingWeight = (_random.NextDouble() * 2) - 1; var opponentNextMoveKingWeight = (_random.NextDouble() * 2) - 1; var generation = 0; var newPlayer = new WeightedAiGamePlayer( nextAvailableMoveCountWeight, opponentAvailableMoveCountWeight, nextMovePiecesAtRiskWeight, nextMovePiecesToTakeWeight, kingWeight, nextMoveKingWeight, opponentNextMoveKingWeight, generation); return(newPlayer); }
public WeightedAiGamePlayer SpawnManualWeightedAiGamePlayer() { var nextAvailableMoveCountWeight = 0.1; var opponentAvailableMoveCountWeight = 0.1; var nextMovePiecesAtRiskWeight = -0.5; var nextMovePiecesToTakeWeight = 0.2; var kingWeight = 0.5; var nextMoveKingWeight = 0.5; var opponentNextMoveKingWeight = -0.5; var generation = 0; var newPlayer = new WeightedAiGamePlayer( nextAvailableMoveCountWeight, opponentAvailableMoveCountWeight, nextMovePiecesAtRiskWeight, nextMovePiecesToTakeWeight, kingWeight, nextMoveKingWeight, opponentNextMoveKingWeight, generation); return(newPlayer); }