Stap 5: Willekeurige (en niet zo willekeurig) bewegingen
RandomMove neemt een parameter die vertegenwoordigt een aantal zetten om uit te selecteren. Vervolgens de interpreter met behulp van een random number generator te selecteren een van de volgende opdrachten. Hier weer, wordt de ScriptStack()-waarde gebruikt, zoals elk van de volgende opdrachten hebben hier de waarde van de volgende opdracht na het blok van willekeurig geselecteerde opdrachten.
RandomPause maakt gebruik van een random number generator te pauzeren ergens tussen de minimale en maximale pauze tijd. Dit is een speciaal geval waar de ScriptDescription() iets anders dan een index naar een ander stuk van gegevens bevat, maar geen tijd opgegeven in milliseconden.
ActionSeq is niet zozeer een willekeurige opdracht, maar in werkelijkheid precies het tegenovergestelde. Het wordt gebruikt voor het uitvoeren van een blok van opdrachten in de juiste volgorde telkens wanneer die het script wordt aangeroepen. Vandaar, als er vier opdrachten opgegeven, de eerste keer dat het script wordt aangeroepen, de eerste opdracht in het blok is uitgevoerd; de vierde keer dat het script wordt aangeroepen, wordt de vierde opdracht uitgevoerd; de vijfde keer die het script wordt aangeroepen, wordt de eerste opdracht uitgevoerd. Ik gebruik deze te hebben van de animatronic hebben een gesprek, gedurende een willekeurige periode van tijd. Hier weer, wordt de waarde van de ScriptStack() van de ActionSeq-opdracht gebruikt voor het bijhouden van welke opdracht u moet het volgende worden uitgevoerd.