/// <summary> /// Constructor /// </summary> /// <param name="sessie1">simulatiespeler 1</param> /// <param name="sessie2">simulatiespeler 2</param> public BordViewModel(ISpelerSessie sessie1, ISpelerSessie sessie2) { _speler1 = new SpelerViewModel(sessie1); _speler2 = new SpelerViewModel(sessie2); CreateAflegStapels(); CreateTrekStapel(sessie1); }
public SpelerViewModel(ISpelerSessie sessie) { _sessie = sessie; _naam = sessie.Naam; this.Score = sessie.GetScore(); this.Beurt = new BeurtViewModel(); CreateHand(); CreateExpedities(); }
private void CreateSessies() { BusinessFacade facade = BusinessFacade.GetInstance(); //gekozen bot ISimulatieSpeler strategy1 = (ISimulatieSpeler)System.Activator.CreateInstance(_types[TegenstanderComboBox.SelectedIndex]); _sessie1 = facade.CreateSessie(strategy1.Naam, strategy1); //te ontwikkelen my bot ISimulatieSpeler strategy2 = new LostCitiesBot(); _sessie2 = facade.CreateSessie(strategy2.Naam, strategy2); }
public void VerwerkBeurt(ISpelerSessie sessie) { this.Beurt.Clear(); if (!sessie.IsActievepeler()) { _sessie = sessie; this.Score = sessie.GetScore(); WijzigHand(); WijzigExpedities(); WijzigBeurt(); } }
/// <summary> /// Pas aflegstapels aan /// </summary> /// <param name="sessie1"></param> private void WijzigAflegStapels(ISpelerSessie sessie1) { //Om beurt te verwerken moet speler niet meer de actieve speler zijn if (!sessie1.IsActievepeler()) { this.AflegstapelBlauw.VerwerkBeurt(sessie1); this.AflegstapelRood.VerwerkBeurt(sessie1); this.AflegstapelWit.VerwerkBeurt(sessie1); this.AflegstapelGroen.VerwerkBeurt(sessie1); this.AflegstapelGeel.VerwerkBeurt(sessie1); } else { this.AflegstapelBlauw.VerwerkBeurt(sessie1); this.AflegstapelRood.VerwerkBeurt(sessie1); this.AflegstapelWit.VerwerkBeurt(sessie1); this.AflegstapelGroen.VerwerkBeurt(sessie1); this.AflegstapelGeel.VerwerkBeurt(sessie1); } }
/// <summary> /// Maak de trekstapel aan /// </summary> /// <param name="sessie"></param> private void CreateTrekStapel(ISpelerSessie sessie) { _trekStapel = new TrekStapelViewModel(); WijzigTrekStapel(sessie); }
/// <summary> /// Pas trekstapel aan /// </summary> /// <param name="sessie1"></param> public void WijzigTrekStapel(ISpelerSessie sessie1) { //Om beurt te verwerken moet speler niet meer de actieve speler zijn if (!sessie1.IsActievepeler()) { this.TrekStapel.VerwerkBeurt(sessie1.GetAantalKaartenOpTrekstapel()); } else { this.TrekStapel.VerwerkBeurt(sessie1.GetAantalKaartenOpTrekstapel()); } }
/// <summary> // Verwerk de beurt op het bord /// </summary> /// <param name="sessie1">simulatiespeler 1</param> /// <param name="sessie2">simulatiespeler 2</param> public void VerwerkBeurt(ISpelerSessie sessie1, ISpelerSessie sessie2) { ClearBeurt(_speler1); ClearBeurt(_speler2); //Om beurt te verwerken moet speler niet meer de actieve speler zijn if (!sessie1.IsActievepeler()) { _speler1.VerwerkBeurt(sessie1); } else { _speler2.VerwerkBeurt(sessie2); } WijzigAflegStapels(sessie1); WijzigTrekStapel(sessie1); if (_trekStapel.AantalKaarten == 0) { } }
/// <summary> /// Leg de eerste kaart in de hand aan op expeditie en pak een kaart /// </summary> /// <param name="sessie">spelersessie</param> /// <returns>De verwachte score van de expeditie</returns> private int GeefVerwachteScoreEersteBeurt(ISpelerSessie sessie) { IStapel stapel = sessie.GetHand(); int verwachteScore = -20; if (stapel[0] is IExpeditieKaart) //er is een score { verwachteScore += ((IExpeditieKaart)stapel[0]).Waarde; } sessie.LegKaart(0, BordType.ExpeditieBord); sessie.PakVanTrekStapel(); return verwachteScore; }
/// <summary> /// Verwerk beurt in de Aflegstapel /// </summary> /// <param name="sessie">de sessie waarin de aflegstapels zijn opgenomen</param> public void VerwerkBeurt(ISpelerSessie sessie) { this.AantalKaarten = sessie.GetAantalKaartenOpAflegstapel(_kleur); if (this.AantalKaarten == 0) { this.BovensteKaart = null; } else { this.BovensteKaart = new KaartViewModel(sessie.GetAflegBord().GetAflegStapel(_kleur).GetBovensteKaart()); } }
public SpelerSessieEventTester(ISpelerSessie sessie1, ISpelerSessie sessie2) { sessie1.BeurtWissel+=new EventHandler(sessie1_BeurtWissel); sessie2.BeurtWissel+=new EventHandler(sessie2_BeurtWissel); }