Stap 3: Twee willekeurige acties
Wat als we willen nog meer complexiteit toevoegen aan de schijnbaar willekeurig gedrag van robots? U kunt drie fundamentele dingen doen. Een is een actie van de robot die niets heeft te maken met de basisbewegingen die worden beschreven in de oorspronkelijke code toe te voegen. De robot kan bijvoorbeeld enkel enkel spinnen in een cirkel met tussenpozen strikt bepaald door de random number generator op de proppen met een bepaald nummer. Of je zou kunnen toevoegen een andere willekeurige actie onafhankelijk van degene die we eerder toegevoegd. Bijvoorbeeld, als de robot aantreft die een belemmering vormen voor de links, fungeert misschien soms het als het zou in de oorspronkelijke code en naar rechts verplaatst, en misschien andere tijden het kon volledig omdraaien en verplaatsen in de tegenovergestelde richting. Of, ten slotte, kunt u een willekeurige actie die geïnterlinieerd met de eerste willekeurige actie, zoals uiteengezet in de laatste stap, die kon worden onafhankelijk van deze actie of altijd voorspelbaar gekoppeld aan die actie toevoegen. Deze laatste mogelijkheid is wat ik hier heb gedaan.
Nu, wanneer de robot obstakel rechtdoor tegenkomt, zal het eerst bepalen welke weg te draai aan het wieltje op basis van of het willekeurig getal gegenereerd zelfs zo uitgelegd in de vorige stap of oneven wordt. Om toe te voegen complexiteit die u kon het programmeren van de robot om de motor naar achteren voor een bepaalde tijdsduur als was bleek links, en een andere bijzondere lengte van tijd als het was draaide rechts, waardoor het draaien van de robot verschillende mate gebaseerd op de richting van de bocht. Of, u kon doen wat ik hier heb gedaan, en maken deze twee variabelen onafhankelijk van elkaar. Met andere woorden, een willekeurig getal wordt gegenereerd dat zal vast als het wiel staat links of rechts, en wordt een ander willekeurig getal gegenereerd om te bepalen als de robot zal terug door die draaien voor 2,5 seconden of 5 seconden. Dit geeft ons 4 variaties van hoe de robot zich gedragen zal wanneer het een back-up na het ontmoeten van een obstakel rechtdoor.