static async Task Main(string[] args) { var gameBoard = new Gamefield(); IGameAnalyser analyser = new BasicGameAnalyser(); var count = gameBoard.GetFreePositions().Count(); for (int i = 0; i < count; i++) { var rnd = GenerateRandomNumber(0, 19 - i); var card = gameBoard.GetUnusedGamecards().Skip(rnd).First(); var result = await analyser.PlayRoundAsync(gameBoard, card); gameBoard.TrySetCard(result, card); //gameBoard.SaveRound(); System.Console.WriteLine(gameBoard.ToString()); System.Console.WriteLine("Boardpoints: " + gameBoard.GetBoardPoints()); System.Console.ReadKey(); } //var result = gameBoard.GetPositioInfo(4, 2, new Gamecard(3, 4, 5)); //System.Console.WriteLine(result); }