public void TestSellHouse() { Game game = new Game(new Player[] { new Player("XXX"), new Player("YYY") }); StreetField field1 = ((StreetField)game.Fields[1]); StreetField field2 = ((StreetField)game.Fields[2]); field1.Buy(game.Players[0]); field2.Buy(game.Players[0]); field1.LevelUp(game.Players[0], 5); Assert.That(((StreetField)game.Fields[1]).Level, Is.EqualTo(5)); field1.SellHouse(game.Players[0], 5); Assert.That(field1.Level, Is.EqualTo(0)); Assert.That(() => field1.SellHouse(game.Players[1], 1), Throws.InvalidOperationException); Assert.That(() => field1.SellHouse(game.Players[0], 1), Throws.InvalidOperationException); }
private void SellHouseButton(object sender, RoutedEventArgs e) { try { StreetField field = (StreetField)selectedField; field.SellHouse(_game.CurrentPlayer, int.Parse(inputField.Text)); _monopolyField.Update(); } catch { MessageBox.Show("You cant sell houses on that field"); } }
private static void SellHouse(Game game) { for (int s = 0; s < game.CurrentPlayer.OwnerShip.Count(); s++) { StreetField street = (StreetField)game.CurrentPlayer.OwnerShip[s]; Console.WriteLine(s + ". " + street.Name + "Level " + street.Level + ", Costs: " + street.Cost.House); } Console.Write("StreetNum: "); int streetNum = int.Parse(Console.ReadLine()); StreetField streetHouse = (StreetField)game.CurrentPlayer.OwnerShip[streetNum]; Console.Write("Amount of Houses to Sell (1-5):"); int amount = int.Parse(Console.ReadLine()); streetHouse.SellHouse(game.CurrentPlayer, amount); }