예제 #1
0
        void client_OpzetFaseCompleted(object sender, ServiceReference1.OpzetFaseCompletedEventArgs e)
        {
            if (e.Result == true && hulpTegel2.RandomNummer == 1)              //Als het de opzetfase is en de tegel waar we op klikken heeft 1 vis.
            {
                AddPinguin(hulpTegel2.Row, hulpTegel2.Column, kleurVanSpeler); //Voeg pinguin lokaal toe.

                //Voeg pinguin in database toe.
                ServiceReference1.DTOPion pion = new ServiceReference1.DTOPion();
                pion.Column      = hulpTegel2.Column;
                pion.Row         = hulpTegel2.Row;
                pion.IjsschotsID = 0;
                pion.SpelerID    = tellerSpelerID;
                pion.LobbyID     = tellerLobbyID;
                ServiceReference1.Service1Client client2 = new ServiceReference1.Service1Client();
                client2.AddPionToGameSteCompleted += client2_AddPionToGameSteCompleted;
                client2.AddPionToGameSteAsync(tellerLobbyID, pion, kleurAanDeBeurt);
                tellerAantalPinguins++;                              //Zien wanneer alle pinguins geplaatst zijn.
            }
            else if (e.Result == false && verplaatsingsface == true) //Als we tijdens het spel zijn en de pinguin mag verplaatst worden.
            {
                //Lokaal voor onmiddelijke weergave.
                VorigeTegel.Visibility    = Visibility.Collapsed;                    //Laat de tegel van waar de pinguin kwam verdwijnen.
                hulpSpeelstuk2.Visibility = Visibility.Collapsed;                    //Laat ook de pinguin op die tegel verdwijnen.
                AddPinguin(hulpTegel2.Row, hulpTegel2.Column, hulpSpeelstuk2.Kleur); //Plaats de pinguin op zijn nieuwe lokatie.

                //In de datebase voor iedereen.
                foreach (var item in gameState.AllPion)
                {
                    if (item.Column == hulpSpeelstuk2.Column && item.Row == hulpSpeelstuk2.Row)
                    {
                        //Geef alle pinguins de juist coördinaten mee.
                        item.Column = hulpTegel2.Column;
                        item.Row    = hulpTegel2.Row;
                    }
                }
                foreach (var item in gameState.AllIjsschots)
                {
                    if (item.Column == (Convert.ToInt32(VorigeTegel.Column / 2)) && item.Row == VorigeTegel.Row)
                    {
                        item.Visibility = "Collapsed"; //Laat de tegel van waar de pinguin kwam verdwijnen.
                    }
                }
                foreach (var item in gameState.AllSpeler)
                {
                    if (item.Kleur == kleurVanSpeler)
                    {
                        item.Punten = eigenPunten;
                    }
                }


                //Udate de gamestate voor iedereen.
                ServiceReference1.Service1Client client = new ServiceReference1.Service1Client();
                client.UpdateGameStateCompleted += client_UpdateGameStateCompleted;
                client.UpdateGameStateAsync(tellerLobbyID, gameState);

                verplaatsingsface = false; //de speler heeft gedaan met spelen.
            }
        }