public Game(IGameDataProvider data) { this._game = data.Data; _bank = new Bank(_game.Tables["Properties"]); _rules = new Rules(); _players = new Hashtable(); }
public GameMessage ProcessConsequence(GameMessage request, Player currentPlayer, Bank bank) { GameMessage response = new GameMessage(); response.opCode = GameEnum.success; switch (request.opCode) { case GameEnum.chance: response = ProcessChance((ChancesEnum)request.chanceId, currentPlayer); response = ProcessConsequence(response, currentPlayer, bank); break; case GameEnum.communityChest: // To Do //ProcessCommunityChestRule break; case GameEnum.purchaseProperty: response.opCode = bank.PurchaseProperty(request.propertyId, currentPlayer); break; case GameEnum.purchaseHouse: break; case GameEnum.purchaseHotel: break; case GameEnum.passGo: break; case GameEnum.pay: response.opCode = bank.Debit(request.amount, currentPlayer); break; case GameEnum.collect: response.opCode = bank.Credit(request.amount, currentPlayer); break; case GameEnum.mortgageProperty: break; case GameEnum.goToJail: break; case GameEnum.sellHotel: break; case GameEnum.sellHouse: break; case GameEnum.payRent: break; default: //option to buy property, or pay rent break; } return response; }