// Assuming this board is the winning one, get the score. public int GetScore() { var currentDrawn = DrawnNumbers.Take(VictoryTurn); var unmarkedNumbersSum = Matrix.SelectMany(i => i).Where(i => !currentDrawn.Contains(i)).Sum(); return(unmarkedNumbersSum * currentDrawn.Last()); }
private void DrawButton_Click(object sender, RoutedEventArgs e) { try { if (DropDownMenu.Text == "Suomi") { //luodaan Lotto-luokasta olio Lotto lotto = new Lotto(); int[] numerot = new int[6]; numerot = Lotto.ArvoSuomiLotto(1); //tulos käyttäjälle string separator = " "; DrawnNumbers.AppendText(string.Join(separator, numerot) + ";\n"); } else if (DropDownMenu.Text == "VikingLotto") { // kutsutaan lotto-luokan metodia.. } else if (DropDownMenu.Text == "Eurojackpot") { // kutsutaan lotto-luokan metodia.. } } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message); } }
private void InitializeVictoryTurn() { // Start at 5. for (int i = 5; i < DrawnNumbers.Count; i++) { var currentDrawn = DrawnNumbers.Take(i); foreach (var line in Lines) { if (line.All(x => currentDrawn.Contains(x))) { VictoryTurn = i; return; } } } }
protected async Task <string> PlayRoundAsync(int number) { DrawnNumbers.Add(number); AllNumbers[number].IsMatched(number, GameRound); var winners = string.Empty; foreach (var p in PlayerDictionary) { if (p.Value.CheckNumber(number, GameRound)) { Logger.LogDebug("{user} has matched {number}", p.Value.Info.User, AllNumbers[number].Name); await LobbyHubContext.Clients.Client(p.Value.Info.ConnectionId).LobbyPlayerMessage(this, $"You have matched {AllNumbers[number].Name}").ConfigureAwait(false); } if (p.Value.Status == PlayerStatus.Winner) { winners += $"{p.Value.Info.User}! "; } } if (winners.Length > 0) { foreach (var p in PlayerDictionary.Where(p => p.Value.Status == PlayerStatus.Playing)) { p.Value.Status = PlayerStatus.Loser; } winners = $"There are winners! {winners}"; Status = GameStatus.Ended; EndedUtc = DateTime.UtcNow; Logger.LogInformation("{status:G} {endUtc} {winners}", Status, EndedUtc, winners); } var msg = $"-> {AllNumbers[number].Name} {winners}"; Logger.LogDebug(msg); return(msg); }
private void ClearButton_Click(object sender, RoutedEventArgs e) { DrawnNumbers.Clear(); }