private static Random random = new Random();
private static string template1 = "GREETING, can SUBJECT1 VERB1 SUBJECT2 your NOUN1? I want to VERB2 a NOUN2.";
private static string[] greetings = { "Hello", "Howdy", "Hey", "Sup", "Good Day", "Uhh", "Spank ma ass"};
private static string[] subjects = { "I", "you", "Peter", "Zenon", "Scotiabank", "Men" };
private static string[] verbs = { "shit", "touch", "massage", "press down upon", "molest", "sensually touch", "arouse", "fancy", "pleasure" };
private static string[] nouns = { "shorts", "hat", "toilet seat", "gas station", "couch", "paint bucket", "lobster", "graphic nude artwork" };
private static string findAndReplace(string source, string target, string replacement)
if (target.Length > source.Length) return "";
if (replacement.Length == 0 || target.Length == 0) return "";
for (i = 0; i < source.Length - target.Length; i++)
if (source.Substring(i, target.Length).CompareTo(target) == 0)
return source.Substring(0, i) + replacement + source.Substring(i + target.Length, source.Length - (i + target.Length));
private static string generateString()
string output = template1;
output = findAndReplace(output, "GREETING", greetings[random.Next() % greetings.Length]);
output = findAndReplace(output, "SUBJECT1", subjects[random.Next() % subjects.Length]);
output = findAndReplace(output, "VERB1", verbs[random.Next() % verbs.Length]);
output = findAndReplace(output, "SUBJECT2", subjects[random.Next() % subjects.Length]);
output = findAndReplace(output, "NOUN1", nouns[random.Next() % nouns.Length]);
output = findAndReplace(output, "VERB2", verbs[random.Next() % verbs.Length]);
output = findAndReplace(output, "NOUN2", nouns[random.Next() % nouns.Length]);
public static void Main()
Console.WriteLine(generateString());