Пример #1
0
 internal void InformForPlayedCard(CardPlayedEventArgs eventArgs)
 {
     if (this.CardPlayed != null)
     {
         this.CardPlayed(eventArgs);
     }
 }
Пример #2
0
        private void GameOnCardPlayed(CardPlayedEventArgs eventArgs)
        {
            this.Draw();

            if (eventArgs.Position == this.Position)
            {
                // Current player bid event
                return;
            }

            var position = eventArgs.Position;

            for (int i = eventArgs.CurrentTrickCards.Count() - 1; i >= 0; i--)
            {
                if (position == PlayerPosition.South)
                {
                    ConsoleHelper.DrawTextBoxTopLeft(eventArgs.CurrentTrickCards.ToList()[i].ToString(), 40 - (eventArgs.CurrentTrickCards.ToList()[i].ToString().Length / 2), Settings.ConsoleHeight - 9);
                    if (position == eventArgs.Position && eventArgs.PlayAction.Belote)
                    {
                        ConsoleHelper.DrawTextBoxTopLeft("Belote", 40 - ("Belote".Length / 2), Settings.ConsoleHeight - 10);
                    }
                }

                if (position == PlayerPosition.East)
                {
                    ConsoleHelper.DrawTextBoxTopRight(eventArgs.CurrentTrickCards.ToList()[i].ToString(), 80 - 2 - this.Game[PlayerPosition.East].Name.Length - 2, 8);
                    if (position == eventArgs.Position && eventArgs.PlayAction.Belote)
                    {
                        ConsoleHelper.DrawTextBoxTopLeft("Belote", 80 - 2 - this.Game[PlayerPosition.East].Name.Length - 2 - eventArgs.CurrentTrickCards.ToList()[i].ToString().Length - 2, 8);
                    }
                }

                if (position == PlayerPosition.North)
                {
                    ConsoleHelper.DrawTextBoxTopLeft(eventArgs.CurrentTrickCards.ToList()[i].ToString(), 40 - (eventArgs.CurrentTrickCards.ToList()[i].ToString().Length / 2), 4);
                    if (position == eventArgs.Position && eventArgs.PlayAction.Belote)
                    {
                        ConsoleHelper.DrawTextBoxTopLeft("Belote", 40 - ("Belote".Length / 2), 7);
                    }
                }

                if (position == PlayerPosition.West)
                {
                    ConsoleHelper.DrawTextBoxTopLeft(eventArgs.CurrentTrickCards.ToList()[i].ToString(), this.Game[PlayerPosition.West].Name.Length + 3, 8);
                    if (position == eventArgs.Position && eventArgs.PlayAction.Belote)
                    {
                        ConsoleHelper.DrawTextBoxTopLeft("Belote", this.Game[PlayerPosition.West].Name.Length + 3 + eventArgs.CurrentTrickCards.ToList()[i].ToString().Length + 2, 8);
                    }
                }

                position = position.PreviousPosition();
            }

            ConsoleHelper.WriteOnPosition(string.Format("Played {0} played {1}.", this.Game[eventArgs.Position].Name, eventArgs.PlayAction.Card), 0, Settings.ConsoleHeight - 3);
            ConsoleHelper.WriteOnPosition("Press enter to continue...", 0, Settings.ConsoleHeight - 2);
            Console.ReadLine();
        }
Пример #3
0
        void ActivePlayer_CardPlayed(object sender, CardPlayedEventArgs e)
        {
            CardBenefit benefit = new CardBenefit();

            foreach (Card card in e.Cards)
            {
                if (card.CardType == Universal.TypeClass.Copper)
                {
                    benefit.Currency += new Coin(1);
                }
            }
            e.Player.ReceiveBenefit(this, benefit);
        }
Пример #4
0
        private void PlayCard(object sender, CardPlayedEventArgs e)
        {
            Player player = sender as Player;

            if (player.IsCurrentPlayer)
            {
#if DEBUG
                if (cardsOnTable.Contains(e.Card))
                {
                    throw new Exception("There shouldn't be duplicate cards");
                }
#endif
                cardsOnTable.Add(player.Hand.Play(e.Card));
            }
        }
Пример #5
0
 private void PlayerOnCardPlayed(object sender, CardPlayedEventArgs e)
 {
     _gameService.AcceptCard(e.Card);
     _players.Enqueue(e.Player);
 }
Пример #6
0
 /// <summary>
 /// Обработать розыгрыш карты одним из игроков
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="args"></param>
 private void OnCardPlayed(Player sender, CardPlayedEventArgs args)
 {
     this.PlayedCards.Insert(0, args.PlayedCard);
 }
Пример #7
0
 private static void GameInfoOnCardPlayed(CardPlayedEventArgs eventArgs)
 {
     // Console.WriteLine("{0} played {1}", eventArgs.Position, eventArgs.PlayAction.Card);
     //// Console.ReadKey();
 }
Пример #8
0
 internal void InformForPlayedCard(CardPlayedEventArgs eventArgs)
 {
     if (this.CardPlayed != null)
     {
         this.CardPlayed(eventArgs);
     }
 }