Exemplo n.º 1
0
        public Card PurchaseCard(string username, string cardName)
        {
            Player player = playerService.GetPlayer(username);
            Card   card   = cardService.GetCard(cardName);

            if (player.Coins < card.Price)
            {
                throw new NotEnoughCoinsException($"Purchase too expensive. The {card.Name} card costs {card.Price}. {player.UserName} have {player.Coins}");
            }

            var playersCards = new PlayersCards {
                Card = card, Player = player
            };
            var purchase = new Purchase
            {
                Buyer = player,
                Card  = card
            };

            BalancePlayerBudget(this.playerService.GetPlayer(username), card.Price);

            this._context.PlayersCards.Update(playersCards);
            this._context.Purchases.Update(purchase);

            this._context.SaveChanges();

            return(card);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Checks to see if the Players decision to hit is legal.
 /// </summary>
 /// <returns></returns>
 public Boolean IsPlayersHitValid()
 {
     PlayersCards.Add(Dealer.Hit(Deck));
     // Check if players points are equal to/below 21.
     if (PlayersPoints <= 21)
     {
         return(true);
     }
     return(false);
 }
Exemplo n.º 3
0
 /// <summary>
 /// Starts a new game of BlackJack by reseting all previous values.
 /// </summary>
 public void NewGame()
 {
     Deck = new Deck();
     DealersCards.Clear();
     DealersPoints = 0;
     PlayersCards.Clear();
     PlayersPoints = 0;
     GameBalance   = 0;
     GameMinWager  = 0;
 }
Exemplo n.º 4
0
        public IEnumerable <Card> StartingCards(Player player)
        {
            var startingCards = this._context.Cards.OrderBy(k => k.Attack).Take(6);
            var listCards     = new List <PlayersCards>();

            foreach (var card in startingCards)
            {
                var playerCards = new PlayersCards {
                    Card = card, Player = player
                };
                listCards.Add(playerCards);
            }

            this._context.PlayersCards.UpdateRange(listCards);
            //this._context.SaveChanges();

            return(startingCards);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Sets up the game of BlackJack with a card shuffle and distribution to
        /// active players
        /// </summary>
        public void SetUpGame()
        {
            // Dealer shuffles the deck of cards.
            Dealer.Shuffle(Deck);

            // Dealer hits 4 cards from the deck.
            for (int i = 0; i < 4; i++)
            {
                if (i < 2)
                {
                    PlayersCards.Add(Dealer.Hit(Deck));
                }
                else
                {
                    DealersCards.Add(Dealer.Hit(Deck));
                }
            }
        }
Exemplo n.º 6
0
        private async void FrmMatchDetail_Load(object sender, EventArgs e)
        {
            try
            {
                var match = await _aPIServiceMatches.GetById <Matches>(Id);

                if (match.IsFinished)
                {
                    BtnMatchFinish.Visible   = false;
                    BtnNewEventMatch.Visible = false;
                    BtnSimulate.Visible      = false;
                }

                var homeClub = await _aPIServiceClubs.GetById <Clubs>(match.HomeClubId);

                var awayClub = await _aPIServiceClubs.GetById <Clubs>(match.AwayClubId);

                if (homeClub != null)
                {
                    HomeClubId = homeClub.Id;
                    Image image    = ImageResizer.ByteArrayToImage(homeClub.Logo);
                    var   newImage = ImageResizer.ResizeImage(image, 200, 200);
                    pictureBox1.Image = newImage;
                    HomeClubName.Text = homeClub.Name;
                }

                if (awayClub != null)
                {
                    AwayClubId = awayClub.Id;
                    Image image    = ImageResizer.ByteArrayToImage(awayClub.Logo);
                    var   newImage = ImageResizer.ResizeImage(image, 200, 200);
                    pictureBox2.Image = newImage;
                    AwayClubName.Text = awayClub.Name;
                }

                var matchDetails = await _aPIServiceMatches.GetById <List <MatchDetails> >(Id, "MatchDetail");

                if (matchDetails.Count == 0)
                {
                    HomeClubGoal.Text = "0";
                    AwayClubGoal.Text = "0";
                    return;
                }

                //goals
                if (matchDetails.Count(x => x.ActionType == (int)Enums.ActionType.Goal) > 0)
                {
                    HomeClubGoal.Text = matchDetails.Count(x => x.ClubId == homeClub.Id && x.ActionType == (int)Enums.ActionType.Goal).ToString();
                    AwayClubGoal.Text = matchDetails.Count(x => x.ClubId == awayClub.Id && x.ActionType == (int)Enums.ActionType.Goal).ToString();
                    List <GoalScorer> goalScorers = new List <GoalScorer>();
                    foreach (var item in matchDetails.Where(x => x.ActionType == (int)Enums.ActionType.Goal)
                             .OrderBy(x => x.Minute))
                    {
                        var player = await _aPIServicePlayers.GetById <Players>(item.PlayerId);

                        var club = await _aPIServiceClubs.GetById <Clubs>(item.ClubId);

                        goalScorers.Add(new GoalScorer
                        {
                            ClubName       = club.Name,
                            Minute         = item.Minute,
                            PlayerFullName = $"{player.FirstName} {player.LastName}"
                        });
                    }
                    DgvGoalScorers.DataSource = goalScorers;
                }
                else
                {
                    HomeClubGoal.Text = "0";
                    AwayClubGoal.Text = "0";
                }

                //cards
                if ((matchDetails.Count(x => x.ActionType == (int)Enums.ActionType.YellowCard) > 0) ||
                    (matchDetails.Count(x => x.ActionType == (int)Enums.ActionType.RedCard) > 0))
                {
                    List <PlayersCards> cards = new List <PlayersCards>();
                    foreach (var item in matchDetails.Where(x => x.ActionType == (int)Enums.ActionType.YellowCard || x.ActionType == (int)Enums.ActionType.RedCard)
                             .OrderBy(x => x.Minute))
                    {
                        var player = await _aPIServicePlayers.GetById <Players>(item.PlayerId);

                        var club = await _aPIServiceClubs.GetById <Clubs>(item.ClubId);

                        var playerCard = new PlayersCards
                        {
                            ClubName       = club.Name,
                            PlayerFullName = $"{player.FirstName} {player.LastName}",
                            Minute         = item.Minute
                        };
                        if (item.ActionType == (int)Enums.ActionType.YellowCard)
                        {
                            playerCard.Card = "Yellow card";
                        }
                        else
                        {
                            playerCard.Card = "Red card";
                        }
                        cards.Add(playerCard);
                    }
                    DgvPlayerCards.DataSource = cards;
                }

                //corners
                if (matchDetails.Count(x => x.ActionType == (int)Enums.ActionType.CornerOccurred) > 0)
                {
                    List <PlayersCorners> corners = new List <PlayersCorners>();
                    foreach (var item in matchDetails.Where(x => x.ActionType == (int)Enums.ActionType.CornerOccurred)
                             .OrderBy(x => x.Minute))
                    {
                        var player = await _aPIServicePlayers.GetById <Players>(item.PlayerId);

                        var club = await _aPIServiceClubs.GetById <Clubs>(item.ClubId);

                        corners.Add(new PlayersCorners
                        {
                            ClubName       = club.Name,
                            PlayerFullName = $"{player.FirstName} {player.LastName}",
                            Minute         = item.Minute
                        });
                    }
                    DgvCorners.DataSource = corners;
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message);
                return;
            }
        }
Exemplo n.º 7
0
        public async Task Init()
        {
            var match = await _apiServiceMatches.GetById <Matches>(Match.Id);

            var matchDetails = await _apiServiceMatches.GetById <List <MatchDetails> >(Match.Id, "MatchDetail");

            if (matchDetails.Count >= 0)
            {
                var HomeClubName = await _aPIServiceClubs.GetById <Clubs>(match.HomeClubId);

                var AwayClubName = await _aPIServiceClubs.GetById <Clubs>(match.AwayClubId);

                if (HomeClubName != null && AwayClubName != null)
                {
                    var HomeClubGoals = matchDetails.Count(x => x.ClubId == HomeClubName.Id && x.ActionType == (int)Enums.ActionType.Goal);
                    var AwayClubGoals = matchDetails.Count(x => x.ClubId == AwayClubName.Id && x.ActionType == (int)Enums.ActionType.Goal);

                    if (match.IsFinished)
                    {
                        TeamsMatchResult = $"{HomeClubName.Name} {HomeClubGoals} : {AwayClubGoals} {AwayClubName.Name}";
                    }
                    else
                    {
                        TeamsMatchResult = $"{HomeClubName.Name} - : - {AwayClubName.Name}";
                    }


                    GoalScorers.Clear();
                    PlayersCards.Clear();
                    PlayersCorners.Clear();

                    //goals
                    if (matchDetails.Count(x => x.ActionType == (int)Enums.ActionType.Goal) > 0)
                    {
                        foreach (var item in matchDetails.Where(x => x.ActionType == (int)Enums.ActionType.Goal)
                                 .OrderBy(x => x.Minute))
                        {
                            var player = await _aPIServicePlayers.GetById <Players>(item.PlayerId);

                            var club = await _aPIServiceClubs.GetById <Clubs>(item.ClubId);

                            if (player != null && club != null)
                            {
                                GoalScorers.Add(new GoalScorer
                                {
                                    ClubName       = club.Name,
                                    Minute         = item.Minute,
                                    PlayerFullName = $"{player.FirstName} {player.LastName}"
                                });
                            }
                        }
                    }

                    //cards
                    if ((matchDetails.Count(x => x.ActionType == (int)Enums.ActionType.YellowCard) > 0) ||
                        (matchDetails.Count(x => x.ActionType == (int)Enums.ActionType.RedCard) > 0))
                    {
                        foreach (var item in matchDetails.Where(x => x.ActionType == (int)Enums.ActionType.YellowCard || x.ActionType == (int)Enums.ActionType.RedCard)
                                 .OrderBy(x => x.Minute))
                        {
                            var player = await _aPIServicePlayers.GetById <Players>(item.PlayerId);

                            var club = await _aPIServiceClubs.GetById <Clubs>(item.ClubId);

                            if (player != null && club != null)
                            {
                                var playerCard = new PlayersCards
                                {
                                    ClubName       = club.Name,
                                    PlayerFullName = $"{player.FirstName} {player.LastName}",
                                    Minute         = item.Minute
                                };
                                if (item.ActionType == 0)
                                {
                                    playerCard.Card = "Yellow card";
                                }
                                else
                                {
                                    playerCard.Card = "Red card";
                                }
                                PlayersCards.Add(playerCard);
                            }
                        }
                    }

                    //corners
                    if (matchDetails.Count(x => x.ActionType == (int)Enums.ActionType.CornerOccurred) >= 0)
                    {
                        foreach (var item in matchDetails.Where(x => x.ActionType == (int)Enums.ActionType.CornerOccurred)
                                 .OrderBy(x => x.Minute))
                        {
                            var player = await _aPIServicePlayers.GetById <Players>(item.PlayerId);

                            var club = await _aPIServiceClubs.GetById <Clubs>(item.ClubId);

                            if (player != null && club != null)
                            {
                                PlayersCorners.Add(new PlayersCorners
                                {
                                    ClubName       = club.Name,
                                    PlayerFullName = $"{player.FirstName} {player.LastName}",
                                    Minute         = item.Minute
                                });
                            }
                        }
                    }
                }
            }
        }