public static Player GeneratePlayer( Card deadCards = Card.None, Position deadPosition = Position.None, double stack = -1d, bool?isToPlay = null, bool?isHero = null) { var random = new Random(); var cards = BoardGenerator.GenerateHand(deadCards); var position = GeneratePosition(deadPosition); stack = (stack == -1d) ? GenerateStack() : stack; isToPlay = isToPlay.HasValue ? isToPlay : Convert.ToBoolean(random.Next(0, 2)); isHero = isHero.HasValue ? isHero : Convert.ToBoolean(random.Next(0, 2)); var player = new Player(cards, position, stack, isToPlay.Value, isHero.Value); return(player); }