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); }
/// <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); }
/// <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; }
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); }
/// <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)); } } }
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; } }
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 }); } } } } } }