Example #1
0
    // 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());
    }
Example #2
0
        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);
            }
        }
Example #3
0
 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;
             }
         }
     }
 }
Example #4
0
        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);
        }
Example #5
0
 private void ClearButton_Click(object sender, RoutedEventArgs e)
 {
     DrawnNumbers.Clear();
 }