У меня есть два метода, generateNounPhrase () и generateVerbPhrase ().VerbPhrase будет вызывать NounPhrase половину времени, и на его выходе выходные данные должны выглядеть примерно так:
пустой лот реанимирует эту пирамиду
(жирным шрифтом указано, где логически вызывается generateNounPhrase ()).Истинный вывод, однако, имеет вид:
пустой лот реанимирует пустой лот
AtСначала я подумал, что мой метод randomIndex работает не так, как я планировал, но если я снова запустил оба метода, я получу разные именные фразы, но они не являются уникальными в начале и конце предложения, как и должно быть.
Есть идеи, что я делаю неправильно, чтобы заставить один метод показать тот же результат?
private string generateNounPhrase()
{
string nounPhraseString = "";
nounPhraseString = nounMarkersStringList[randomIndex(0,nounMarkersStringList.Count-1)];
if (included(1, 4, 2) == true)
{
nounPhraseString += " " + adjectivesStringList[randomIndex(0, adjectivesStringList.Count - 1)];
}
nounPhraseString += " " + nounsStringList[randomIndex(0, nounsStringList.Count - 1)];
return nounPhraseString;
}
private string generateVerbPhrase()
{
string verbPhraseString = "";
if (included(1, 4, 2) == true)
{
verbPhraseString = intransitiveVerbsStringList[randomIndex(0, intransitiveVerbsStringList.Count - 1)];
}
else
{
verbPhraseString = transitiveVerbsStringList[randomIndex(0, transitiveVerbsStringList.Count - 1)] + " " + generateNounPhrase();
}
return verbPhraseString;
}