/// <summary> /// Creates a simple phrase with a given number of words. /// </summary> /// <param name="words">The words.</param> /// <param name="wordLengthDistribution">The word length distribution.</param> /// <returns></returns> public SimplePhrase CreateSimplePhrase(int words, Dictionary <int, double> wordLengthDistribution) { SimplePhrase sp = new SimplePhrase(); for (int i = 0; i < words; i++) { SimpleWord sw = GetSimpleWord(wordLengthDistribution); sp.Parts.Add(sw); if (i < words - 1) { int iInnerPunctuation = _randomizerInnerPunctuation.Random(); PunctuationSign ps = new PunctuationSign(); ps.Value = _innerPunctuation.Keys.ToArray()[iInnerPunctuation]; sp.Parts.Add(ps); } } int iFinalPunctuation = _randomizerFinalPunctuation.Random(); PunctuationSign psFinal = new PunctuationSign(); psFinal.Value = _finalPunctuation.Keys.ToArray()[iFinalPunctuation]; sp.Parts.Add(psFinal); return(sp); }
public SimpleWord GetSimpleWord(Dictionary <int, double> dctLengthDistribution) { DiscreteRandomizer randomizer = new DiscreteRandomizer(dctLengthDistribution.Values.ToArray()); int nIndex = randomizer.Random(); int nLength = dctLengthDistribution.Keys.ToArray()[nIndex]; return(GetSimpleWord(nLength)); }
/// <summary> /// Creates a simple phrase. /// </summary> /// <param name="numberOfWordDistribution">The distribution of word number in a phrase.</param> /// <param name="wordLengthDistribution">The distribution of the length of a phrase.</param> /// <returns></returns> public SimplePhrase CreateSimplePhrase ( Dictionary <int, int> numberOfWordDistribution, Dictionary <int, int> wordLengthDistribution ) { DiscreteRandomizer randomizer = new DiscreteRandomizer(numberOfWordDistribution.Values.ToArray()); int nIndex = randomizer.Random(); int nWords = numberOfWordDistribution.Keys.ToArray()[nIndex]; return(CreateSimplePhrase(nWords, wordLengthDistribution)); }
public Syllable GetSyllable() { int iSyllable = _randomizerSyllables.Random(); SyllabicType syllabicType = (SyllabicType)iSyllable; switch (syllabicType) { case SyllabicType.V: return(new Syllable(syllabicType, GetVowel())); case SyllabicType.CV: return(new Syllable(syllabicType, GetConsonant() + GetVowel())); case SyllabicType.VC: return(new Syllable(syllabicType, GetVowel() + GetConsonant())); case SyllabicType.CVC: return(new Syllable(syllabicType, GetConsonant() + GetVowel() + GetConsonant())); case SyllabicType.Unknown: default: return(new Syllable()); } }
protected string GetConsonant() { int iRandom = _randomizerConsonants.Random(); return(_consonants.Keys.ToArray()[iRandom]); }
protected string GetVowel() { int iRandom = _randomizerVowels.Random(); return(_vowels.Keys.ToArray()[iRandom]); }