//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(); }
//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"); }
//Clear selected slides private void ClearSelected() { SelectedSlide1 = null; SelectedSlide2 = null; CanSelect = false; }