Beispiel #1
0
    private void JudgeThem()
    {
        if (CurrentEmployee.fresh)
        {
            CurrentEmployee.fresh = false;
            if (_Sentence.Verb.MoodChange == MoodChange.Positive)
            {
                CurrentEmployee.BoostMood();
            }
            else if (CurrentEmployee.job != _Sentence.Verb.Job)
            {
                CurrentEmployee.ChangeJob(_Sentence.Verb.Job);
            }
            else
            {
                CurrentEmployee.DropMood();
            }

            MakeThemWork();
        }

        if (CurrentEmployee.Done)
        {
            ResetButtons();

            Employees.RemoveAt(0);
            Employees.Add(CurrentEmployee);
            CurrentEmployee.transform.parent        = Que.transform;
            CurrentEmployee.transform.localPosition = Vector3.zero;
            CurrentEmployee = null;
            _Sentence       = new Sentance();
        }
    }
Beispiel #2
0
        public void ProcessSentance(string inputSentance)
        {
            inputSentance = inputSentance.ToLower();
            inputSentance = inputSentance.Replace(",", " , ");
            inputSentance = inputSentance.Replace("?", " ? ");
            inputSentance = inputSentance.Replace(".", " . ");
            inputSentance = inputSentance.Replace("!", " ! ");
            Console.WriteLine("input" + inputSentance);
            var words          = inputSentance.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            var wordCollection = new List <Word>();

            foreach (var textWord in words)
            {
                Console.WriteLine(textWord);
                var word = book.GetWord(textWord);
                wordCollection.Add(word);
            }

            var sentance = new Sentance(wordCollection);

            Console.WriteLine(sentance.ToString());
        }
Beispiel #3
0
        private TriviaQuestion ParseDefenition(string htmlContent)
        {
            const string separator = "—";

            var paragraph = ExctractFirstParagraph(htmlContent);

            paragraph = Regex.Replace(paragraph, SquareBracetsPattern, string.Empty);
            var paragraphEntity = new Text(paragraph);
            var fullDefinition  = paragraphEntity.Sentances[0].Text;

            var separatorIndex = fullDefinition.IndexOf(separator);
            var definition     = fullDefinition.Substring(0, separatorIndex - 1);

            definition = Regex.Replace(definition, @"(\(.*?\))", string.Empty);
            var definitionText = fullDefinition.Substring(separatorIndex + 2);

            definitionText = definitionText[0].ToString().ToUpper() + definitionText.Substring(1);


            // Wrong angsers:
            var text           = string.Join(". ", ExtractParagraps(htmlContent));
            var cleanText      = new Text(Regex.Replace(text, SquareBracetsPattern, string.Empty));
            var cleanSentances = CleanFromGarbish(cleanText.Sentances.Select(s => s.Text)).ToList();

            var valueableWords = cleanSentances
                                 .SelectMany(s =>
                                             new Sentance(s).Words
                                             .Where(w =>
                                                    !s.StartsWith(w) &&
                                                    char.IsUpper(w[0])).ToList())
                                 .Distinct().ToList();

            var wrong1 = string.Empty;
            var wrong2 = string.Empty;
            var wrong3 = string.Empty;

            if (valueableWords.Count > 1)
            {
                wrong1 = valueableWords.RandomElement();
                valueableWords.Remove(wrong1);
            }
            else
            {
                wrong1 = new Sentance(cleanSentances.RandomElement()).Words.RandomElement();
            }

            if (valueableWords.Count > 1)
            {
                wrong2 = valueableWords.RandomElement();
                valueableWords.Remove(wrong2);
            }
            else
            {
                wrong2 = new Sentance(cleanSentances.RandomElement()).Words.RandomElement();
            }

            if (valueableWords.Count > 1)
            {
                wrong3 = valueableWords.RandomElement();
                valueableWords.Remove(wrong3);
            }
            else
            {
                wrong3 = new Sentance(cleanSentances.RandomElement()).Words.RandomElement();
            }

            var shuffledAnswers = new List <string> {
                wrong1, "*", wrong2, wrong3
            };

            shuffledAnswers.Shuffle();
            var correctIndex = shuffledAnswers.IndexOf("*");

            shuffledAnswers[correctIndex] = definition;

            var triviaQuestion = new TriviaQuestion
            {
                Question = definitionText,
                Correct  = correctIndex + 1,
                Answers  = shuffledAnswers
            };

            GC.Collect();

            return(triviaQuestion);
        }