public void LoadNewMode(Spelmode sm, List<Speler> team) { StackPanelModes.Children.Clear(); StackPanelModes.Children.Add(new TextBlock() { Text = sm.Name }); string tm = "Team:"; foreach(Speler s in team) tm += " " + s.Name; StackPanelModes.Children.Add(new TextBlock() { Text = tm }); }
public void SendVolgendeKies() { try { Speler s; if (GekozenModes.Count != 4) { s = Spelers[GekozenModes.Count]; s.Client.GetClientProxy<IWiesGameClient>().ReceiveModes(BeschikbareModes(s)); } else { //Begin spel! var result = Comparator.WinnerMode(this); spelmode = result.Key; team = result.Value; foreach (Speler sp in spelers) sp.Client.GetClientProxy<IWiesGameClient>().ReceiveWinnerMode(spelmode, team, Troef); isFirstTurn = true; currentSlag = new Slag(this); SendTurn(); } } catch(Exception ex) { int i = 8; i++; } }
public void KiesMode(Spelmode s) { Speler sp = Spelers[GekozenModes.Count]; GekozenModes.Add(s, sp); foreach (Speler sps in spelers) sps.Client.GetClientProxy<IWiesGameClient>().ReceiveMessage(sp.Name + " gaat " + s.Name); SendVolgendeKies(); }
public void ReceiveWinnerMode(Spelmode sm, List<Speler> team, KaartSoort troef) { App.Current.Dispatcher.BeginInvoke(new Action(() => { GameWindow.LoadNewMode(sm, team, troef); })); }
public static Dictionary<Speler, int> Scores(List<Speler> spelers, List<Speler> team, Spelmode sm, Dictionary<Speler, List<Slag>> slagen = null, bool? isDerdeu = null) { Dictionary<Speler, int> scores = new Dictionary<Speler, int>(); int aantal; int score; switch (sm.ID) { case 0: //Duo case 4: case 6: aantal = slagen[team[0]].Count + slagen[team[1]].Count; score = 2 + Math.Abs(aantal - 8); if (sm.ID == 4 || sm.ID == 6) score *= 2; foreach (Speler s in spelers) scores.Add(s, ((team.Contains(s) && aantal >= 8) || (!team.Contains(s) && aantal < 8) ? 1 : -1) * score); break; case 1: //Solo5 aantal = slagen[team[0]].Count; score = 6 + Math.Abs(aantal - 5) * 3; foreach (Speler s in spelers) scores.Add(s, score / (team.Contains(s) ? 1 : -3)); break; case 2: //9 if(slagen[team[0]].Count >= 9) foreach (Speler s in spelers) scores.Add(s, (team.Contains(s) ? 15 : -5)); else foreach (Speler s in spelers) scores.Add(s, (team.Contains(s) ? 5 : -15)); break; case 3: //Miserie case 5: //Ope miserie if(slagen[team[0]].Count == 0) foreach (Speler s in spelers) scores.Add(s, (team.Contains(s) ? (sm.ID == 5 ? 30 : 15) : (sm.ID == 5 ? -10 : -5))); else foreach (Speler s in spelers) scores.Add(s, (team.Contains(s) ? (sm.ID == 5 ? 10 : 5) : (sm.ID == 5 ? -30 : -15))); break; case 7: //sololoemp case 8: //soloslum if(slagen[team[0]].Count == 13) { score = (sm.ID == 7 ? 30 : 60); foreach (Speler s in spelers) scores.Add(s, (team.Contains(s) ? score : -(score / 3))); } else { score = (sm.ID == 7 ? 30 : 60); foreach (Speler s in spelers) scores.Add(s, (team.Contains(s) ? -score : (score / 3))); } break; case 9: //Damme Dictionary<Speler, int> aantallen = new Dictionary<Speler, int>(); int counter = 0; Speler alle4 = null; foreach (Speler s in spelers) { aantallen.Add(s, 0); foreach (Slag sl in slagen[s]) foreach (Kaart k in sl.Kaarten.Values) if (k.Nummer == 12) { counter++; aantallen[s]++; alle4 = s; } } if(counter == 4) foreach(Speler s in spelers) if (s.ID == alle4.ID) scores.Add(s, -9); else scores.Add(s, 3); else { int counter2 = 0; foreach(Speler s in spelers) if (aantallen[s] == 0) counter2++; foreach (Speler s in spelers) if (aantallen[s] == 0) scores.Add(s, 8 / counter2); else scores.Add(s, -2 * aantallen[s]); } break; } return scores; }
public void KiesSpelMode(Spelmode sm) { Game.CurrentSpel.KiesMode(sm); }
public void KiesMode(Spelmode s) { Speler sp = Spelers[GekozenModes.Count]; GekozenModes.Add(s, sp); SendVolgendeKies(); }