Esempio n. 1
0
 public static void ChangeActivePlayer(GameState State)
 {
     if (State.CurrentPhase != TurnState.EndPhase && State.CurrentPhase != TurnState.BeginPhase)
     {
         bool       isGameFinished = false;
         GamePlayer GameOverTest   = State.ReturnPlayerByOrder(State.ActiveGamePlayer);
         if (GameOverTest.Cash < 0)
         {
             RemovePlayerFromGame(GameOverTest);
         }
         bool       validPlayer = false;
         byte       newOrder    = 0;
         GamePlayer playerToChange;
         while (!validPlayer)
         {
             newOrder = 0;
             if (State.ActiveGamePlayer < State.PlayerList.Count - 1)
             {
                 newOrder = (byte)(State.ActiveGamePlayer + 1);
             }
             //State.ActiveGamePlayer = newOrder;
             GamePlayer temp = State.ReturnPlayerByOrder(newOrder);
             if (temp.IsPlaying)
             {
                 validPlayer = true;
             }
         }
         playerToChange = State.ReturnPlayerByOrder(newOrder);
         if (playerToChange.OrderNumber == State.ActiveGamePlayer)
         {
             isGameFinished = true;
         }
         State.ActiveGamePlayer = playerToChange.OrderNumber;
         State.ActivePlayer     = playerToChange.MyPlayer;
         State.CurrentPhase     = TurnState.BeginPhase;
         State.TurnNumber++;
         State.DieCast   = false;
         State.EnableBuy = false;
         State.PropertyTradeRequested = 0;
         State.PlayerTradeRequested   = null;
         if (playerToChange.PrisonTime >= 3)
         {
             PrisonRelease(playerToChange);
         }
         State.EventNotification = playerToChange.MyPlayer.PlayerName + " is aan de beurt";
         if (isGameFinished)
         {
             GameFinished(State);
         }
     }
 }
Esempio n. 2
0
 public static void TradeRejected(GameState State)
 {
     State.PlayerTradeRequested   = null;
     State.PropertyTradeRequested = 0;
     State.PropertyTradeDirection = Direction.nulled;
     State.CurrentPhase           = TurnState.WaitPhase;
     State.PropertyTradeValue     = 0;
     State.EventNotification      = State.ReturnPlayerByOrder(State.ActiveGamePlayer).MyPlayer.PlayerName + " weigert te handelen met " + State.ReturnPlayerByBasePlayer(State.PlayerTradeRequested).MyPlayer.PlayerName;
 }
 public static void BuyPropertyFromBank(GameState State)
 {
     if (State.EnableBuy)
     {
         GamePlayer currentActive = State.ReturnPlayerByOrder(State.ActiveGamePlayer);
         var        house         = (from h in State.LocalCardData
                                     where h.Position == currentActive.Location
                                     select h).FirstOrDefault();
         PropertyOwnershipChange(house.ID, State, currentActive);
         currentActive.Cash -= house.BuyCost;
         State.CurrentPhase  = TurnState.WaitPhase;
     }
 }
        public static void TradeAccepted(GameState State)
        {
            GamePlayer requester = State.ReturnPlayerByOrder(State.ActiveGamePlayer);
            GamePlayer accepter  = State.ReturnPlayerByBasePlayer(State.PlayerTradeRequested);

            if (State.PropertyTradeDirection == Direction.indir)
            {
                PropertyOwnershipChange(State.PropertyTradeRequested, State, requester, accepter);
            }
            else
            {
                PropertyOwnershipChange(State.PropertyTradeRequested, State, accepter, requester);
            }
            State.PlayerTradeRequested   = null;
            State.PropertyTradeRequested = 0;
            State.PropertyTradeDirection = Direction.nulled;
            State.CurrentPhase           = TurnState.WaitPhase;
        }
        public static void ChangeActivePlayer(GameState State)
        {
            byte newOrder = 0;

            if (State.ActiveGamePlayer < State.PlayerList.Count - 1)
            {
                newOrder = (byte)(State.ActiveGamePlayer + 1);
            }
            GamePlayer playerToChange = State.ReturnPlayerByOrder(newOrder);

            State.ActiveGamePlayer = playerToChange.OrderNumber;
            State.ActivePlayer     = playerToChange.MyPlayer;
            State.CurrentPhase     = TurnState.BeginPhase;
            State.TurnNumber++;
            State.DieCast   = false;
            State.EnableBuy = false;
            State.PropertyTradeRequested = 0;
            State.PlayerTradeRequested   = null;
        }
Esempio n. 6
0
 public static void TradeRequested(GameState State, Player P, byte propID, bool propdir, int tvalue)
 {
     if (State.PlayerTradeRequested == null && State.CurrentPhase != TurnState.TradePhase)
     {
         State.CurrentPhase           = TurnState.TradePhase;
         State.PlayerTradeRequested   = P;
         State.PropertyTradeRequested = propID;
         State.PropertyTradeValue     = tvalue;
         if (propdir)
         {
             State.PropertyTradeDirection = Direction.indir;
         }
         else
         {
             State.PropertyTradeDirection = Direction.outdir;
         }
         State.EventNotification = State.ReturnPlayerByOrder(State.ActiveGamePlayer).MyPlayer.PlayerName + " wilt handelen met " + P.PlayerName + " over " + State.LocalCardData[propID].Name + " voor " + tvalue.ToString();
     }
 }
        public static void CardEffect(int localID, GameState State, GamePlayer gPlayer)
        {
            var house = (from h in State.LocalCardData
                         where h.ID == localID
                         select h).FirstOrDefault();

            if (State.IsBought[localID] == false)
            {
                State.EnableBuy    = true;
                State.CurrentPhase = TurnState.BuyPhase;
            }
            else
            {
                GamePlayer owner = State.ReturnPlayerByOrder((byte)State.Ownership[localID]);
                if (owner != gPlayer)
                {
                    PayRent(house, gPlayer, owner);
                }
                State.CurrentPhase = TurnState.WaitPhase;
            }
        }
Esempio n. 8
0
 public static void BuyPropertyFromBank(GameState State)
 {
     if (State.EnableBuy)
     {
         GamePlayer currentActive = State.ReturnPlayerByOrder(State.ActiveGamePlayer);
         var        house         = (from h in State.LocalCardData
                                     where h.Position == currentActive.Location
                                     select h).FirstOrDefault();
         if (!State.IsBought[house.ID])
         {
             State.EventNotification = currentActive.MyPlayer.PlayerName + " koopt " + house.Name
                                       + " van de bank voor " + house.BuyCost.ToString();
             PropertyOwnershipChange(house.ID, State, currentActive);
             currentActive.Cash -= house.BuyCost;
         }
         else
         {
             State.EventNotification = house.Name + " is al het eigendom van " + State.ReturnPlayerByOrder((byte)State.Ownership[house.ID]).MyPlayer.PlayerName;
         }
         State.CurrentPhase = TurnState.WaitPhase;
     }
 }
Esempio n. 9
0
        public static void TradeAccepted(GameState State)
        {
            GamePlayer requester = State.ReturnPlayerByOrder(State.ActiveGamePlayer);
            GamePlayer accepter  = State.ReturnPlayerByBasePlayer(State.PlayerTradeRequested);

            if (State.PropertyTradeDirection == Direction.indir)
            {
                PropertyOwnershipChange(State.PropertyTradeRequested, State, requester, accepter);
                requester.Cash -= State.PropertyTradeValue;
                accepter.Cash  += State.PropertyTradeValue;
            }
            else
            {
                PropertyOwnershipChange(State.PropertyTradeRequested, State, accepter, requester);
                accepter.Cash  -= State.PropertyTradeValue;
                requester.Cash += State.PropertyTradeValue;
            }
            State.EventNotification      = requester.MyPlayer.PlayerName + " verhandelt " + State.LocalCardData[State.PropertyTradeRequested].Name + " met " + accepter.MyPlayer.PlayerName;
            State.PlayerTradeRequested   = null;
            State.PropertyTradeRequested = 0;
            State.PropertyTradeDirection = Direction.nulled;
            State.CurrentPhase           = TurnState.WaitPhase;
            State.PropertyTradeValue     = 0;
        }