示例#1
0
        //Select a slide to be matched
        public void SelectSlide(PictureViewModel slide)
        {
            slide.PeekAtImage();

            if (SelectedSlide1 == null)
            {
                SelectedSlide1 = slide;
            }
            else if (SelectedSlide2 == null)
            {
                SelectedSlide2 = slide;
                _peekTimer.Start();
            }

            SoundManager.PlayCardFlip();
            OnPropertyChanged("areSlidesActive");
        }
        //Slide has been clicked
        public void ComputeSlide(PictureViewModel slide)
        {
            if (Slides.CanSelect && slide.IsSelectable)
            {
                Slides.SelectSlide(slide);
            }

            if (!Slides.AreSlidesActive)
            {
                if (Slides.CheckIfMatched())
                {
                    GameInfo.Award(); //Correct match
                }
                else
                {
                    GameInfo.Penalize(); //Incorrect match
                }
            }

            CheckIfWin();
        }
示例#3
0
        //Create slides from images in file directory
        public void CreateSlides(string imagesPath)
        {
            //New list of slides
            MemorySlides = new ObservableCollection <PictureViewModel>();
            var models = GetPicsFromPath(@imagesPath);

            //Create slides with matching pairs from models
            for (int i = 0; i < VMConstants.slideCount; i++)
            {
                //Create 2 matching slides
                var newSlide      = new PictureViewModel(models[i]);
                var newSlideMatch = new PictureViewModel(models[i]);
                //Add new slides to collection
                MemorySlides.Add(newSlide);
                MemorySlides.Add(newSlideMatch);
                //Initially display images for user
                newSlide.PeekAtImage();
                newSlideMatch.PeekAtImage();
            }

            ShuffleSlides();
            OnPropertyChanged("MemorySlides");
        }
        //Create slides from images in file directory
        public void CreateSlides(string imagesPath)
        {
            //New list of slides
            MemorySlides = new ObservableCollection <PictureViewModel>();
            var models = GetModelsFrom(@imagesPath);

            //Create slides with matching pairs from models
            for (int i = 0; i < 6; i++)
            {
                //Create 2 matching slides
                var newSlide      = new PictureViewModel(models[i]);
                var newSlideMatch = new PictureViewModel(models[i]);

                MemorySlides.Add(newSlide);
                MemorySlides.Add(newSlideMatch);

                newSlide.PeekAtImage();
                newSlideMatch.PeekAtImage();
            }

            ShuffleSlides();
            OnPropertyChanged("MemorySlides");
        }
示例#5
0
 //Clear selected slides
 private void ClearSelected()
 {
     SelectedSlide1 = null;
     SelectedSlide2 = null;
     CanSelect      = false;
 }