Example #1
0
        public void Run()
        {
            bool continua = true;

            while (continua)
            {
                _uiHandler.WriteMessage("- MATCH GAME -");
                _uiHandler.WriteMessage("La parola è: ");
                string randomWord = _uiHandler.WordRepository.GetRandomWord();
                _uiHandler.WriteMessage(randomWord);
                _uiHandler.WriteMessage("Inserisci un anagramma:");
                string answer = _uiHandler.AskForString();
                if (_uiHandler.WordRepository.IsAnagram(randomWord, answer))
                {
                    _uiHandler.WriteMessage("Bravo");
                }
                else
                {
                    _uiHandler.WriteMessage("Peccato, risposta sbagliata");
                }

                _uiHandler.WriteMessage("Vuoi continuare? (s/n)");
                string continuare = _uiHandler.AskForString();
                continua = (continuare == "s");
            }
        }
Example #2
0
        static IGameplay SelectGameplay(List <IGameplay> gameplays, IUIHandler handler)
        {
            bool sensedMode          = false;
            int  indexOfSelectedMode = 0;

            List <string> gameplayCodes = new List <string>();

            foreach (IGameplay gameplay in gameplays)
            {
                gameplayCodes.Add(gameplay.Code);
            }

            while (!sensedMode)
            {
                string selectedMode = handler.AskForString($"Selezionare la modalità immettendo il codice corrispondente: ").ToLower();
                sensedMode = (gameplayCodes.Contains(selectedMode)) ? true : false;
                if (sensedMode)
                {
                    indexOfSelectedMode = gameplayCodes.IndexOf(selectedMode);
                    handler.WriteStringToUI($"Modalità scelta: {gameplays[indexOfSelectedMode].Name}.");
                }
                else
                {
                    handler.WriteStringToUI($"Modalità scelta ({selectedMode}) non valida.");
                }
            }

            return(gameplays[indexOfSelectedMode]);
        }
Example #3
0
        public void Run(IUIHandler uiHandler)
        {
            for (int i = 0; i < _rounds; i++)
            {
                uiHandler.WriteMessage();
                uiHandler.WriteMessage($"Turno { i + 1 }");
                uiHandler.WriteMessage("La parola è...");

                string word = _wordsRepository.GetRandomWord(5);
                uiHandler.WriteMessage(word.ToUpper());

                uiHandler.WriteMessage();
                uiHandler.WriteMessage("GO!!!!");
                DateTime startTime = DateTime.Now;

                DateTime?endTime = null;
                do
                {
                    string candidateWord = uiHandler.AskForString();

                    if (_wordsRepository.IsAnagram(word, candidateWord))
                    {
                        endTime = DateTime.Now;
                        uiHandler.WriteMessage($"Giusto! { candidateWord } è un anagramma di { word }");
                        break;
                    }
                    else
                    {
                        uiHandler.WriteMessage($"Non è corretto! Ti restano { TimeLeft(startTime) } secondi");
                    }
                }while (!TimeIsOver(startTime));

                int roundPoints = CalculateRoundPoints(startTime, endTime);
                uiHandler.WriteMessage($"Turno {i + 1} terminato. Hai conquistato { roundPoints } punti e in totale sei a { _points }");

                uiHandler.WriteMessage();
                uiHandler.AskForString("(invio per iniziare il prossimo turno)");
            }

            uiHandler.WriteMessage();
            uiHandler.WriteMessage($"Il gioco è terminato. Hai totalizzato { _points } punti");
        }
        public void Run()
        {
            bool continua = true;

            while (continua)
            {
                _uiHandler.WriteMessage("- PRACTICE GAME -");
                _uiHandler.WriteMessage("Inserisci una parola di prova");
                string myWord   = _uiHandler.AskForString();
                var    anagrams = _uiHandler.WordRepository.GetAnagrams(myWord);
                foreach (var anag in anagrams)
                {
                    _uiHandler.WriteMessage(anag);
                }

                _uiHandler.WriteMessage("Vuoi continuare? (s/n)");
                string continuare = _uiHandler.AskForString();
                continua = (continuare == "s");
            }
        }
Example #5
0
        public void Run(IUIHandler uiHandler)
        {
            do
            {
                uiHandler.Clear();

                string word = uiHandler.AskForString("Inserisci una parola di cui vuoi conoscere gli anagrammi:");

                var anagrams = _words.GetAnagrams(word);
                uiHandler.WriteMessage("Gli anagrammi trovati sono:");
                foreach (var anagram in anagrams)
                {
                    uiHandler.WriteMessage($"\t{anagram}");
                }
            }while (AnotherMatch(uiHandler));

            uiHandler.WriteMessage("Game over");
        }
Example #6
0
        private bool AnotherMatch(IUIHandler uiHandler)
        {
            string choice = uiHandler.AskForString("Vuoi provare un'altra parola? (S/N)");

            return("S".Equals(choice, StringComparison.InvariantCultureIgnoreCase));
        }