예제 #1
0
        /// <summary>
        /// A new card is pulled from the set of deck to be evaluated
        /// with the previous one. The score is calculated.
        /// </summary>
        /// <param name="res">Player guesses if the next card is (1) Higher or (-1) Lower</param>
        /// <returns>If game continues or stops</returns>
        public bool NextCard(int res = 0)
        {
            if (SetOfDecks.Count == 0)
            {
                return(false);
            }

            ICard previousCard = FaceUpCard;

            FaceUpCard = this.SetOfDeckService.GetNextCard(SetOfDecks);
            SetOfDecks.Remove(FaceUpCard);

            if (res == 0)
            {
                return(true);
            }

            if (previousCard != null)
            {
                int compare = this.CompareTo(previousCard);
                if (compare != 0 && (!res.Equals(compare)))
                {
                    return(false);
                }
                PlayerScore += 1;
            }

            return(true);
        }
예제 #2
0
파일: Model.cs 프로젝트: N-janas/Flashcards
 public void EditDeckTitle(Deck oldDeck, Deck newDeck)
 {
     if (SetOfDecks.EditDeck(newDeck, (sbyte)oldDeck.Id))
     {
         newDeck.Id = oldDeck.Id;
         Decks[Decks.IndexOf(oldDeck)] = newDeck;
     }
 }
예제 #3
0
파일: Model.cs 프로젝트: N-janas/Flashcards
        public Model()
        {
            // Strona językowa
            var users = SetOfUsers.GetAllUsers();

            foreach (var user in users)
            {
                Users.Add(user);
            }

            var langs = SetOfLanguages.GetAllLanguages();

            foreach (var lang in langs)
            {
                Langs.Add(lang);
            }

            var words = SetOfWords.GetAllWords();

            foreach (var word in words)
            {
                Words.Add(word);
            }

            var wordKnowledges = SetOfWordKnwoledges.GetAllWordKnowledges();

            foreach (var wks in wordKnowledges)
            {
                WordKnowledges.Add(wks);
            }

            // Strona Fiszki
            var flipcards = SetOfFlipCards.GetAllFlipCards();

            foreach (var flipcard in flipcards)
            {
                FlipCards.Add(flipcard);
            }

            var flipCardKnowledges = SetOfFlipCardKnowledges.GetAllFlipCardKnowledges();

            foreach (var flipCardKwl in flipCardKnowledges)
            {
                FlipCardKnowledges.Add(flipCardKwl);
            }

            var decks = SetOfDecks.GetAllDecks();

            foreach (var deck in decks)
            {
                Decks.Add(deck);
            }
        }
예제 #4
0
파일: Model.cs 프로젝트: N-janas/Flashcards
        public bool AddDeckToDecks(string deckName)
        {
            Deck d = new Deck(deckName);

            if (!DeckExist(d))
            {
                if (SetOfDecks.AddNewDeck(d))
                {
                    Decks.Add(d);
                    return(true);
                }
            }
            return(false);
        }
예제 #5
0
파일: Model.cs 프로젝트: N-janas/Flashcards
        public bool DeleteDeck(Deck deck)
        {
            // Jeśli deck istnieje
            if (DeckExist(deck))
            {
                // To szukaj czy miał kontent
                foreach (var flipcard in FlipCards.ToList())
                {
                    // Jeśli flipcard należał do talii
                    if (flipcard.Id_Deck == deck.Id)
                    {
                        // Przeszukaj odpowiadających FlipCardKnowledges
                        foreach (var flipcardKnowledge in FlipCardKnowledges.ToList())
                        {
                            // Jeśli znaleziono knowledgeLevel dla tego flipcarda też usuń
                            if (flipcardKnowledge.Id_FlipCard == flipcard.Id)
                            {
                                if (SetOfFlipCardKnowledges.DeleteFlipCardKnowledge(flipcardKnowledge))
                                {
                                    FlipCardKnowledges.Remove(flipcardKnowledge);
                                }
                            }
                        }
                        // Usuń samego flipcarda
                        if (SetOfFlipCards.DeleteFlipCard(flipcard))
                        {
                            FlipCards.Remove(flipcard);
                        }
                    }
                }

                // Usuń samą talie
                if (SetOfDecks.DeleteDeck(deck))
                {
                    Decks.Remove(deck);
                    return(true);
                }
            }
            return(false);
        }