public void tradeProperty(Player player) { PlayerInput input = new PlayerInput(); Property property = new Property(); //create prompt string sPropPrompt = String.Format("{0}Please select a property to trade:", input.playerPrompt(player)); //create prompt string sPlayerPrompt = String.Format("{0}Please select a player to trade with:", input.playerPrompt(player)); //get the property to trade //SMALL CHANGE WITH PROPERTY TEST AND SEE IF IT NEEDS TO GO BACK TO this. TradeableProperty propertyToTrade = (TradeableProperty)property.displayPropertyChooser(player.getPropertiesOwnedFromBoard(), sPropPrompt); //if dont own any properties if (propertyToTrade == null) { //write message Console.WriteLine("{0}You do not own any properties.", input.playerPrompt(player)); //return from method return; } //get the player wishing to trade with Player playerToTradeWith = this.displayPlayerChooser(Board.access().getPlayers(), player, sPlayerPrompt); //get the amount wanted string inputAmtMsg = string.Format("{0}How much do you want for this property?", input.playerPrompt(player)); decimal amountWanted = input.inputDecimal(inputAmtMsg); //confirm with playerToTradeWith //set console color ConsoleColor origColor = Console.ForegroundColor; int i = Board.access().getPlayers().IndexOf(playerToTradeWith); Console.ForegroundColor = this.colors[i]; //get player response bool agreesToTrade = input.getInputYN(playerToTradeWith, string.Format("{0} wants to trade '{1}' with you for ${2}. Do you agree to pay {2} for '{1}'", player.getName(), propertyToTrade.getName(), amountWanted)); //resent console color Console.ForegroundColor = origColor; if (agreesToTrade) { Player playerFromBoard = Board.access().getPlayer(playerToTradeWith.getName()); //player trades property player.tradeProperty(ref propertyToTrade, ref playerFromBoard, amountWanted); Console.WriteLine("{0} has been traded successfully. {0} is now owned by {1}", propertyToTrade.getName(), playerFromBoard.getName()); } else { //display rejection message Console.WriteLine("{0}{1} does not agree to trade {2} for ${3}", input.playerPrompt(player), playerToTradeWith.getName(), propertyToTrade.getName(), amountWanted); } }