Esempio n. 1
0
 private void AddHousesToPool(GameCardViewModel street)
 {
     foreach (HouseViewModel item in street.Houses)
     {
         AddHouseToPool(item);
     }
 }
Esempio n. 2
0
 /// <summary>
 /// The player pays off a mortgage
 /// </summary>
 /// <param name="gameCard"></param>
 public void PayMortgage(GameCardViewModel gameCard)
 {
     if (gameCard.IsActivePlayerOwningPlayer())
     {
         gameCard.IncreaseHouseAmount();
         gameCard.GetOwningPlayer().PlayerRemoveMoney(gameCard.Mortgage[1]);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// The player takes on a mortgage
 /// </summary>
 /// <param name="gameCard"></param>
 public void TakeMortgage(GameCardViewModel gameCard)
 {
     if (gameCard.IsActivePlayerOwningPlayer())
     {
         gameCard.DecreaseHouseAmount();
         gameCard.GetOwningPlayer().PlayerAddMoney(gameCard.Mortgage[0]);
     }
 }
 public PlayerViewModelTests()
 {
     testPlayer = new PlayerViewModel(new PlayerModel()
     {
         CurrentPosition = 0, AmountHotels = 0, AmountHouses = 0, FirstThrow = 0, PlayerCash = 2000, PlayerID = 0, PlayerName = "Test", PrisonRoll = 3
     });
     contentTest.ManagingPlayer.AddPlayer(testPlayer);
     contentTest.ManagingPlayer.SetAllPlayerCollection();
     testGameCard = new GameCardViewModel(SetEnums.SetGameCard(StreetName.Schlossallee));
 }
Esempio n. 5
0
 public void SellHotel(GameCardViewModel street)
 {
     if (CheckSellHotel())
     {
         AddHotelToPool(street.Houses[0]);
         street.RemoveHouseAtID(0);
         for (int i = 0; i < 4; i++)
         {
             BuildHouse(street);
         }
     }
 }
Esempio n. 6
0
 /// <summary>
 /// Initializes every Street in the game.
 /// </summary>
 private void InitializeStreets()
 {
     GameCards = new GameCardViewModel[]
     {
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.LOS)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Badstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Gemeinschaftsfeld)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Turmstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Einkommenssteuer)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Südbahnhof)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Chausseestraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Ereignisfeld)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Elisenstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Poststraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Gefängnis)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Seestraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.EWerk)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Hafenstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.NeueStraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Westbahnhof)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.MünchnerStraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Gemeinschaftsfeld)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.WienerStraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.BerlinerStraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.FreiParken)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.TheaterStraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Ereignisfeld)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Museumstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Opernplatz)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.NordBahnhof)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Lessingstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Schillerstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Wasserwerk)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Goethestraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.InDasGefängnis)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Rathausplatz)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Hauptstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Gemeinschaftsfeld)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Bahnhofstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Hauptbahnhof)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Ereignisfeld)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Parkstraße)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Zusatzsteuer)),
         new GameCardViewModel(SetEnums.SetGameCard(Utility.StreetName.Schlossallee))
     };
 }
Esempio n. 7
0
 /// <summary>
 /// Returns a HouseViewModel reference of a house that is not yet in use.
 /// If no house is available it returns nothing and shows a MessageBox with information regarding this case.
 /// Sets all neccessary fields in the HouseViewModel.
 /// </summary>
 /// <param name="street"></param>
 /// <returns></returns>
 public HouseViewModel BuildHouse(GameCardViewModel street)
 {
     foreach (HouseViewModel house in Houses)
     {
         if (house.IsHouseNotNull() && house.IsHouseNotInUse())
         {
             UnavailableHouses[house.GetUniqueID()] = house;
             Houses[house.GetUniqueID()]            = null;
             house.SetBuiltStreet(street);
             house.SetHouseInUse(true);
             UpdateAvailableHouses();
             street.AddHouseToStreet(house);
             WindowContent.GetWindowContent().OpenMessageBox(String.Format("{0} Häuser übrig", AvailableHouses));
             return(house);
         }
     }
     WindowContent.GetWindowContent().OpenMessageBox("Keine Häuser mehr verfügbar!");
     return(null);
 }
Esempio n. 8
0
 public HouseViewModel BuildHotel(GameCardViewModel street)
 {
     AddHousesToPool(street);
     street.Houses.Clear();
     foreach (HouseViewModel hotel in Hotels)
     {
         if (hotel.IsHouseNotNull() && hotel.IsHouseNotInUse())
         {
             UnavailableHotels[hotel.GetUniqueHotelID()] = hotel;
             Hotels[hotel.GetUniqueHotelID()]            = null;
             hotel.SetBuiltStreet(street);
             hotel.SetHouseInUse(true);
             UpdateAvailableHouses();
             street.AddHouseToStreet(hotel);
             return(hotel);
         }
     }
     WindowContent.GetWindowContent().OpenMessageBox("Keine Hotels mehr verfügbar!");
     return(null);
 }
Esempio n. 9
0
 /// <summary>
 /// The player buys a hotel.
 /// </summary>
 /// <param name="gameCard"></param>
 public void BuyHotel(GameCardViewModel gameCard)
 {
     if (gameCard.IsActivePlayerOwningPlayer())
     {
         if (WindowContent.GetWindowContent().GetManagingPlayer().GetActivePlayer().IsMonopolyComplete(gameCard))
         {
             gameCard.SetMaxMonopolyHouses(gameCard);
             if (gameCard.NrOfHousesLessThanMonopolyMax())
             {
                 gameCard.DecreaseHouseAmount();
                 gameCard.GetOwningPlayer().PlayerRemoveMoney(gameCard.GetHousePrice());
                 gamePool.BuildHotel(gameCard);
                 gameCard.SetMinMonopolyHouses(gameCard);
             }
             else
             {
                 WindowContent.GetWindowContent().OpenMessageBox("Bauen nicht möglich! Bauen Sie zunächst gleichmäßig viele Häuser auf diesem Monopol!");
             }
         }
     }
 }
Esempio n. 10
0
 /// <summary>
 /// The player buys a hotel.
 /// </summary>
 /// <param name="gameCard"></param>
 public void SellHotel(GameCardViewModel gameCard)
 {
     if (gameCard.IsActivePlayerOwningPlayer())
     {
         if (WindowContent.GetWindowContent().GetManagingPlayer().GetActivePlayer().IsMonopolyComplete(gameCard))
         {
             gameCard.SetMinMonopolyHouses(gameCard);
             if (gameCard.NrOfHousesGreaterThanMonopolyMin())
             {
                 gameCard.SetMaxMonopolyHouses(gameCard);
                 gameCard.DecreaseHouseAmount();
                 gameCard.GetOwningPlayer().PlayerAddMoney(gameCard.GetSellPrice());
                 gamePool.SellHotel(gameCard);
             }
             else
             {
                 WindowContent.GetWindowContent().OpenMessageBox("Verkaufen nicht möglich! Um auf dieser Straße ein weiteres Haus verkaufen zu können müssen zunächst auf allen Straßen des Monopols gleich viele Häuser stehen!");
             }
         }
     }
 }
Esempio n. 11
0
 public void SetMouseOverGameCard(GameCardViewModel gameCardViewModel)
 {
     DetailsViewModels[0] = gameCardViewModel;
 }
Esempio n. 12
0
 public void SellHouse(GameCardViewModel street)
 {
     AddHouseToPool(street.Houses[street.Houses.Count - 1]);
     street.RemoveHouseAtID(street.Houses.Count - 1);
 }