void PushTile_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (kleurAanDeBeurt == kleurVanSpeler) { #region Tijdens het spel (Verplaatsen van Pinguin) SpelTile hulp = sender as SpelTile; //Maak een hulptegel aan zondat we met de waarde van de sender kunnen werken. if (opZetFace == false && verplaatsingsface == true) //Wanneer we een pinguin willen verplaatsen. Dit is het moment dat we op de nieuwe tegel drukken. { int rowVerschil = hulp.Row - hulpTegel2.Row; int columnVerschil = hulp.Column - hulpTegel2.Column; int zoekTussenliggendeRows; int zoekTussenliggendeColumns; if ((Math.Abs(rowVerschil) == Math.Abs(columnVerschil)) || (hulp.Row == hulpTegel2.Row)) { magVerplaatsen = true; if (rowVerschil > 0) { zoekTussenliggendeRows = 1; } else { zoekTussenliggendeRows = -1; } if (columnVerschil > 0) { zoekTussenliggendeColumns = 1; } else { zoekTussenliggendeColumns = -1; } for (int i = 1; i <= Math.Abs(columnVerschil); i++) { foreach (var pinguin in SpelBord.Children) { SpelSpeelstuk eenSpeelstuk = pinguin as SpelSpeelstuk; if (eenSpeelstuk != null) { if ((Math.Abs(rowVerschil) == Math.Abs(columnVerschil) && Grid.GetRow(eenSpeelstuk) == hulpTegel2.Row + i * zoekTussenliggendeRows && Grid.GetColumn(eenSpeelstuk) == hulpTegel2.Column + i * zoekTussenliggendeColumns) || (hulp.Row == hulpTegel2.Row && Grid.GetRow(eenSpeelstuk) == hulpTegel2.Row && Grid.GetColumn(eenSpeelstuk) == hulpTegel2.Column + i * zoekTussenliggendeColumns)) { magVerplaatsen = false; MessageBox.Show("Invalid action!\nJe mag niet over gaten en andere pinguins springen."); break; } } } } } else { MessageBox.Show("Invalid action!\nJe mag je alleen over de horizontale en diagonale lijnen verplaantsen."); } } #endregion #region Opzetface (Wanneer de pinguins geplaats moeten worden) if (opZetFace == true || magVerplaatsen == true) //Wanneer we een pinguin mogen plaatsen of verplaatsen. { ServiceReference1.Service1Client client = new ServiceReference1.Service1Client(); client.OpzetFaseCompleted += new EventHandler <ServiceReference1.OpzetFaseCompletedEventArgs>(client_OpzetFaseCompleted); client.OpzetFaseAsync(); VorigeTegel = hulpTegel2; //Onthoud van waar de pinguin kwam. hulpTegel2 = hulp; //Onthound waar de pinguin op gezet wordt. magVerplaatsen = false; //De pinguin mag niet meer verpaatst worden. punten[teller] += hulp.RandomNummer; eigenPunten += hulp.RandomNummer; //kleurVanSpeler = CheckKleurVanSpeler(kleurVanSpeler); //MessageBox.Show("Speler: " + kleur + "\nteller: " + teller + "\nPunten: " + punten[teller]); } #endregion } else { MessageBox.Show("Wacht tot het jouw beurt is."); } }