Exemple #1
0
        /// <summary>
        /// Permet d'enregistrer le score de l'adversaire en base
        /// </summary>
        /// <param name="e"></param>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            RetourAccueilBouton.IsEnabled = false;
            //Récupération de la photo
            DefiService defi = (DefiService)PhoneApplicationService.Current.State["defi"];

            TaquinTermineImage.Source = new WriteableBitmap(Photo.DecodeImage(defi.ImageDefi));

            //Récupération du score
            Partie partieTermine = (Partie)PhoneApplicationService.Current.State["partie"];

            ScoreTextBlock.Text = "Votre score : " + partieTermine.Score + " Pts";

            Defi defiTermine = new Defi();

            defiTermine.id_defi = defi.IdDefi;
            defiTermine.score_adversaire_defi = partieTermine.Score;
            defiTermine.resolu = true;

            ServiceTaqnshareClient serviceTaqnshareClient = new ServiceTaqnshareClient();

            serviceTaqnshareClient.ModifierDefiCompleted += DefiModifie;
            serviceTaqnshareClient.ModifierDefiAsync(defiTermine, App.UtilisateurCourant);

            base.OnNavigatedTo(e);
        }
Exemple #2
0
 public DefiAffiche(DefiService defi)
 {
     IdDefi         = defi.IdDefi;
     NomDefi        = defi.NomDefi;
     NomCreateur    = defi.NomUtilisateur;
     PrenomCreateur = defi.PrenomUtilisateur;
 }
Exemple #3
0
 /// <summary>
 /// Permet d'afficher le défi
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void AfficherDefi(object sender, RecupererDefiCompletedEventArgs e)
 {
     if (e.Result != null)
     {
         AccepterDefiBouton.IsEnabled  = true;
         RetourAccueilBouton.IsEnabled = true;
         DeclinerDefiBouton.IsEnabled  = true;
         _defi = e.Result;
         PhoneApplicationService.Current.State["defi"] = _defi;
         DefiImage.Source           = new WriteableBitmap(Photo.DecodeImage(_defi.ImageDefi));
         CreateurDefiTextBlock.Text = "Votre ami " + _defi.PrenomUtilisateur + " " + _defi.NomUtilisateur +
                                      " vous a défié !";
         NombreDecoupageDefiTextBlock.Text = "Découpages : " + (_defi.Composition.Count + 1);
         NombreFiltreDefiTextBlock.Text    = "Filtres : " + _defi.NombreFiltre;
     }
     else
     {
         MessageBox.Show("Une erreur s'est produite lors de la récupération du défi!");
         RetourAccueilBouton.IsEnabled = true;
     }
 }
Exemple #4
0
        /// <summary>
        /// Permet de préparer l'image pour un défi
        /// </summary>
        private async void PreparerImageDefi()
        {
            //Récupération du défi
            DefiService defi = (DefiService)PhoneApplicationService.Current.State["defi"];

            _partieEnCours = new Partie(defi.NombreFiltre);
            //Spécification du dataContext pour le Binding
            DataContext = _partieEnCours;

            //Calcul de la taille de la grille en fonction

            switch (defi.Composition.Count)
            {
            case 8:
                _partieEnCours.TailleGrille = 3;
                break;

            case 15:
                _partieEnCours.TailleGrille = 4;
                break;

            case 24:
                _partieEnCours.TailleGrille = 5;
                break;
            }

            CreerGrille(_partieEnCours.TailleGrille);

            int compteur = 0;

            for (int i = 0; i < _partieEnCours.TailleGrille; i++)
            {
                for (int j = 0; j < _partieEnCours.TailleGrille; j++)
                {
                    if (!(i == _partieEnCours.TailleGrille - 1 && j == _partieEnCours.TailleGrille - 1))
                    {
                        //Découpage de la UtilisateurImage
                        Photo photoDecoupe = new Photo(new WriteableBitmap(Photo.DecodeImage(defi.ImageDefi)).Crop(i * _largeurPiece, j * _hauteurPiece, _largeurPiece, _hauteurPiece), _largeurPiece, _hauteurPiece);


                        CompositionService composer = null;

                        foreach (var c in defi.Composition)
                        {
                            if (c.IdPiece == compteur)
                            {
                                composer = c;
                            }
                        }

                        if (defi.Composition[compteur].IdFiltre != 0)
                        {
                            FilterEffect filterEffect = new FilterEffect(photoDecoupe.PhotoBuffer);

                            Filtre filtre = null;
                            foreach (var filtre1 in _listeFiltre)
                            {
                                if (composer != null && filtre1.Id == composer.IdFiltre)
                                {
                                    filtre = filtre1;
                                }
                            }

                            if (filtre != null)
                            {
                                filterEffect.Filters = new[] { filtre.Type }
                            }
                            ;
                            var renderer = new WriteableBitmapRenderer(filterEffect, photoDecoupe.PhotoSelectionne);
                            photoDecoupe.PhotoSelectionne = await renderer.RenderAsync();
                        }

                        Image image = new Image
                        {
                            Name   = compteur.ToString(CultureInfo.InvariantCulture),
                            Source = photoDecoupe.PhotoSelectionne
                        };

                        //TODO Determiner les coordonees en fonction de l'index
                        int[] coordonnees = Piece.CalculerCoordonnees(composer.IndexPosition, _partieEnCours.TailleGrille);

                        Grid.SetColumn(image, coordonnees[0]);
                        Grid.SetRow(image, coordonnees[1]);
                        JeuGrid.Children.Add(image);
                        Piece piece = new Piece(image, composer.IndexPosition);

                        _partieEnCours.ListePieces.Add(piece);

                        compteur++;
                    }
                }
            }

            foreach (var piece in _partieEnCours.ListePieces)
            {
                piece.Image.Tap += ImageTap;
            }

            _indicator.IsIndeterminate = false;
            _indicator.IsVisible       = false;
        }