Stap 7: Het laden van strijkers uit tekstbestanden
Wij zullen beginnen met een eenvoudige groet. Door het laden van een willekeurige groet uit een tekstbestand kunnen we een theoretisch onbeperkt aantal van de manieren waarop de boom op een eenvoudige 'Hallo reageren kan'. Ons niet onbeperkt, maar kun je zoveel als je wilt.
Dus laten we beginnen met het toevoegen van nog een andere functie aan onze schets. Nogmaals naar beneden onder alles en voer de volgende gegevens.
//generic krijgen antwoord... ladingen een lijn uit bestandVOID getAnswer(String fileName) {}
String lijnen [] = loadStrings (fileName + ".txt");
int index = int(random(lines.length)); hetzelfde als int(random(4))
println(Lines[index]); een van de lijnen vanuit greetings.txt worden afgedrukt
Message = lijnen [index];
respond(Message);
}
Deze eenvoudige kleine functie laten voor het laden van een willekeurige regel uit een specifieke tekstbestand, die wij opgeven wanneer we een oproep aan de functie maken.
Voordat we het gebruiken kunnen, moeten we Maak een tekstbestand en plaats deze in de map van onze schets.
Open Kladblok en maak een nieuw bestand. Typ een stelletje groeten die u horen van uw robot reageren willen zou met elk wordt gevolgd door een regel terug. Als dit.
Hallo
Hey
Howdy
Ho Ho Ho
Hallo Merry Christmas!
Oh hallo
Zet zoveel zany posten als u nodig hebt. Ik hield mij vrij tam, maar voel je vrij om uw boom sommige teken. Sommige tijden kunt u gebruik maken van uw eigen kennis van hoe het programma wordt uitgevoerd en omvatten enkele uitroeptekens voor sommige knipperen of een pauze. Als u eenmaal een paar posten, opslaan in dezelfde map als uw schets en geef het een naam die u kunt onthouden. Ik riep mijn "greetings.txt"
Nu noemen we de functie ons tekstbestand op te geven wanneer we een groet willen. Toevoegen van deze instelling als verklaring aan uw code met de anderen.
als (s.equals ("hello-boom")) {}
getAnswer("greetings");
} Met dezelfde functie, kunnen we gemakkelijk andere functionaliteit toevoegen. Gewoon het tekstbestand voor de robots responces maken, de vereiste woorden toevoegen aan het bestand .gram en roept de functie van de getAnswer() die het juiste tekstbestand aangeeft.
Laten we het toevoegen van een reactie voor wanneer de boom de woorden hoort "Merry Christmas" en ook "Thank you", want ik vind mezelf de boom toch bedanken. Goede gewoonten sterven hard?
Dus eerst zweep wij uit twee tekstbestanden. Ik roep de eerste "christmas.txt" en vullen met vrolijke Kerstmis berichten.
Vrolijk kerstfeest!
Fijne Feestdagen!
Kijk hoe vrolijk mijn ballen kijken
Bling! Ik ben een kerstboom
De andere roep ik "thanks.txt" en vullen met dank.
Dank u voor het maken me het gevoel geliefd
Graag gedaan
Ik doel om te behagen
Het is een zaak van Kerstmis
Als ik niet in deze pot zat vast zou ik kus je
Kus me
I 'm alive
Geen probleem
Nu gewoon toevoegen aan uw woordenlijst in uw tree.gram bestand, als dit,
publiek < woordenschat > = (< adres > Hallo | Hallo < adres > | Bedankt | vrolijk kerstfeest) *; Als (s.equals ("thank you")) {}
en voeg de aanroepen naar de getAnswer() aan uw erkenning behandeling van code.
als (s.equals ("merry christmas")) {}
getAnswer("christmas");
}
getAnswer("thanks");
}
Dat is allen daar is aan het. Ga je gang, sla het bestand op en geef het een proberen. Uw kerstboom Animatronic moet draaien in een regelmatige kleine chatterbox. Mijn boom is in snel tempo mijn plastic pal dat is leuk om met.