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"); }