Exemple #1
0
        public Bidding(GameSession gameSession, PlayerPosition startPosition)
        {
            _gameSession = gameSession;

            Bids = new List<Bid>();

            CurrentTurn = startPosition;
        }
Exemple #2
0
        private GameSession PrepareGameSession()
        {
            GameSession gameSession = new GameSession();
            Player north = new Player(Guid.NewGuid(), "North");
            Player south = new Player(Guid.NewGuid(), "South");
            Player east = new Player(Guid.NewGuid(), "East");
            Player west = new Player(Guid.NewGuid(), "West");
            gameSession.Join(north, PlayerPosition.North);
            gameSession.Join(south, PlayerPosition.South);
            gameSession.Join(east, PlayerPosition.East);
            gameSession.Join(west, PlayerPosition.West);

            //--1st bid: East 1 Diamonds
            gameSession.PlaceBid(Bid.CreateBid(gameSession.GetPlayer(PlayerPosition.East),1, Suit.Diamonds));
            //--2nd bid: North Pass
            gameSession.PlaceBid(Bid.CreatePassBid(gameSession.GetPlayer(PlayerPosition.North)));
            //--3rd bid: West Pass
            gameSession.PlaceBid(Bid.CreatePassBid(gameSession.GetPlayer(PlayerPosition.West)));
            //--4th bid: South 1 Spades
            gameSession.PlaceBid(Bid.CreateBid(gameSession.GetPlayer(PlayerPosition.South),1, Suit.Spades));
            //--5th bid: East 2 Diamonds
            gameSession.PlaceBid(Bid.CreateBid(gameSession.GetPlayer(PlayerPosition.East),2, Suit.Diamonds));
            //--6th bid: North Pass
            gameSession.PlaceBid(Bid.CreatePassBid(gameSession.GetPlayer(PlayerPosition.North)));
            //--7th bid: West Pass
            gameSession.PlaceBid(Bid.CreatePassBid(gameSession.GetPlayer(PlayerPosition.West)));
            //--8th bid: South 2 Spades
            gameSession.PlaceBid(Bid.CreateBid(gameSession.GetPlayer(PlayerPosition.South),2, Suit.Spades));
            //--9th bid: East Pass
            gameSession.PlaceBid(Bid.CreatePassBid(gameSession.GetPlayer(PlayerPosition.East)));
            //--10th bid: North Pass
            gameSession.PlaceBid(Bid.CreatePassBid(gameSession.GetPlayer(PlayerPosition.North)));
            //--11th bid: West Pass
            gameSession.PlaceBid(Bid.CreatePassBid(gameSession.GetPlayer(PlayerPosition.West)));
            //--Auction Closed =>NS - 2 Spades

            return gameSession;
        }
Exemple #3
0
        public GamePlay(GameSession gameSession, PlayerPosition startPosition, Suit trumpSuit)
        {
            PlayerCards = new Dictionary<PlayerPosition, List<Card>>(4);
            CurrentTrick = new Dictionary<PlayerPosition, Card>(4);

            TricksWon = new Dictionary<TeamPosition, int>(4);
            TricksWon[TeamPosition.NorthSouth] = 0;
            TricksWon[TeamPosition.EastWest] = 0;

            this.gameSession = gameSession;
            this.trumpSuit = trumpSuit;

            CurrentTurn = startPosition;
            currentNumberOfTricks = 0;

            //Shuffle cards and fill player cards
            CardsShuffler shuffler = new CardsShuffler();
            var shuffledCards = shuffler.Shuffle();
            PlayerCards[PlayerPosition.South] = shuffledCards[0];
            PlayerCards[PlayerPosition.East] = shuffledCards[1];
            PlayerCards[PlayerPosition.North] = shuffledCards[2];
            PlayerCards[PlayerPosition.West] = shuffledCards[3];
        }
Exemple #4
0
        private GameSession PrepareGameSession()
        {
            GameSession gameSession = new GameSession();
            Player north = new Player(Guid.NewGuid(), "North");
            Player south = new Player(Guid.NewGuid(), "South");
            Player east = new Player(Guid.NewGuid(), "East");
            Player west = new Player(Guid.NewGuid(), "West");
            gameSession.Join(north, PlayerPosition.North);
            gameSession.Join(south, PlayerPosition.South);
            gameSession.Join(east, PlayerPosition.East);
            gameSession.Join(west, PlayerPosition.West);

            return gameSession;
        }