예제 #1
0
        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");
     }
 }
예제 #3
0
        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);
        }