Stap 8: Vertellen moppen
We zullen het tewerkstellen van de technieken uit de laatste stap in meer creatieve manieren.
Ditmaal zullen we beginnen met de functie en vervolgens onze tekstbestanden te maken.
Voeg de volgende functie.
//tell een grapongeldig tellJoke() {}
Booleaanse grapje = true;
String lijnen [] = loadStrings("jokes1.txt");
int index = int(random(lines.length)); een willekeurige grap uit het bestand ophalen
println(Lines[index]); afdrukken om te debuggen
voce. SpeechInterface.setRecognizerEnabled(false);
respond(Lines[index]);
4delay(3000);
String s = voce. SpeechInterface.popRecognizedString();
println ("je zei:" + s);
voce. SpeechInterface.setRecognizerEnabled(true);
while(Joking == True) {}
if(voce. SpeechInterface.getRecognizerQueueSize() > 0) {}
Tekenreeks antwoorden [] = loadStrings("jokes2.txt");
println(Answers[index]);
respond(Answers[index]);
een grapje = false;
}
}
}
U ziet terwijl we de grap vertellen wij een Boole-waarde hebben, een grapje, ingesteld op true totdat de grap is voltooid. Dat is hoe we houden boom afgestemd op wat het is dat hij aan het doen is. Ook ziet u dat we eerst een lijn van de jokes1.txt leest en vervolgens een regel van jokes2.txt voor een anwser ophalen. Het is zo simpel. U kunt deze eenvoudige logica toepassen op een aantal eenvoudige conversatie 'haken' iemand bezig houden.
Deze if()-beleidstoelichting toevoegen aan uw loop functie samen met onze andere degenen.
als (s.equals ("boom een mop vertellen")) {}tellJoke();
}
Voeg de twee tekstbestanden naar uw schets map samen met de anderen. "jokes1.txt" voor de vragen aan je grappen, "jokes2.txt" voor de antwoorden.
Bij dit punt, uw Animatronic Tree is net als het mijne, dus gefeliciteerd voor het feit dat dit veel. Als u dit als een ingangspunt hebt gelezen in stem beheersing van uw eigen project, dan hoop ik dat het informatief geweest.
Stem voor mij!
Delen en genieten!