예제 #1
0
        /// <summary>
        /// Méthode appelée lors de l'appui sur une image
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ImageTap(object sender, GestureEventArgs e)
        {
            //Récupération de la pièce correspondante à l'image cliquée
            int   tailleListe = _partieEnCours.ListePieces.Count;
            Piece piececlique = new Piece();

            for (int index = 0; index < tailleListe; index++)
            {
                var piece = _partieEnCours.ListePieces[index];
                if (piece.Image.Equals(sender as Image))
                {
                    piececlique = piece;
                    _partieEnCours.ListePieces.Remove(piece);
                    tailleListe--;
                }
            }

            //Déplacement de la pièce
            DeplacementSuivantPosition(piececlique, false);

            //Calcul des nouveaux paramètres après déplacement
            piececlique.Ajuster();

            //Ajout de la pièce à la nouvelle position avec les nouveaux paramètres dans la liste des pièces de la partie en cours
            _partieEnCours.ListePieces.Add(piececlique);

            //Détection de la fin de la partie (Image remise dans l'ordre)
            if (_partieEnCours.DetecterFinJeu())
            {
                //Arrêt du chrono
                _partieEnCours.StopWatch.Stop();
                _partieEnCours.CalculerScore();
                //Stockage de la partie pour la passer à la page suivante
                PhoneApplicationService.Current.State["partie"] = _partieEnCours;
                NavigationService.Navigate(_casDefi
                    ? new Uri("/Pages/DefiTerminePage.xaml", UriKind.Relative)
                    : new Uri("/Pages/JeuTerminePage.xaml", UriKind.Relative));
            }
        }