Welcome to Synthiam!

Program robots using technologies created by industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation, and artificial intelligence easy.

Get Started
Greece
Asked — Edited

Mulit Answer To A Question.

Heloo Forum:)

I don't remember if it is answered this question:
I want to ask my robot somethink or told, for examble: Hello, and the robot answer with many ways 1: hello, 2:i already told you 3:.....
I want to choose the robot his own answer between 3 or more answers that i write to script.

Can i?

ARC Pro

Upgrade to ARC Pro

ARC Early Access will give you immediate updates and new features needed to unleash your robot's potential!

AI Support Bot
Related Content
Synthiam
United Kingdom
#1  
Yes.

Use the function GetRandom()

For instance;

Code:


# GetRandom (Min,Max)
$answer = GetRandom(1,3)

IF($answer = 1)
SayWait("Answer 1")
ElseIF($answer = 2)
SayWait("Answer 2")
ElseIF($answer = 3)
SayWait("Answer 3")
EndIF


I did an example of multiple choices the robot can make in my Jarvis project a while ago when I had him choose the colour he was going to be.

Code:


# Colour chooser script for Jarvis self design

# Use voice recognition to ask Jarvis what colour he wants to be
# Use random numbers to choose a colour
# Run the choices until the same is picked twice consecutivly

# Colour options
$black = 0
$brown = 0
$red = 0
$orange = 0
$yellow = 0
$green = 0
$blue = 0
$violet = 0
$grey = 0
$white = 0
$silver = 0
$gold = 0


SayWait("Hummmm let me think")
Sleep(500)

$choice1 = GetRandom(0,11)
Goto(pick1)
SayWait("I quite like $colour")

:loop
$choice2 = GetRandom(0,11)
IF ($choice1 = $choice2)
Goto(done)
ELSE
Sleep(300)
Goto(pick2)
IF ($black>3 OR $brown>2 OR $red>2 OR $orange>2 OR $yellow>2 OR $green>2 OR $blue>2 OR $violet>2 OR $grey>2 OR $white>2 OR $gold>2 OR $silver>2)
goto(done)
ELSE
$phrase = GetRandom(0,3)
IF ($phrase = 0)
SayWait("but I also like $colour")
ELSEIF ($phrase = 1)
SayWait("although $colour is nice")
ELSEIF ($phrase = 2)
SayWait("but theres something to be said about $colour")
ELSEIF ($phrase = 3)
SayWait("but $colour is cool")
ENDIF
ENDIF
ENDIF
$choice1 = GetRandom(0,11)
IF ($choice1 = $choice2)
Goto(done)
ELSE
Sleep(300)
Goto(pick1)
IF ($black>2 OR $brown>2 OR $red>2 OR $orange>2 OR $yellow>2 OR $green>2 OR $blue>2 OR $violet>2 OR $grey>2 OR $white>2 OR $gold>2 OR $silver>2)
goto(done)
ELSE
$phrase = GetRandom(0,3)
IF ($phrase = 0)
SayWait("but I also like $colour")
ELSEIF ($phrase = 1)
SayWait("although $colour is nice")
ELSEIF ($phrase = 2)
SayWait("but theres something to be said about $colour")
ELSEIF ($phrase = 3)
SayWait("but $colour is cool")
ENDIF
ENDIF
ENDIF
Goto(loop)

:pick1
IF ($choice1 = 0)
$colour="black"
$black++
ELSEIF ($choice1 = 1)
$colour="brown"
$brown++
ELSEIF ($choice1 = 2)
$colour="red"
$red++
ELSEIF ($choice1 = 3)
$colour="orange"
$orange++
ELSEIF ($choice1 = 4)
$colour="yellow"
$yellow++
ELSEIF ($choice1 = 5)
$colour="green"
$green++
ELSEIF ($choice1 = 6)
$colour="blue"
$blue++
ELSEIF ($choice1 = 7)
$colour="violet"
$violet++
ELSEIF ($choice1 = 8)
$colour="grey"
$grey++
ELSEIF ($choice1 = 9)
$colour="white"
$white++
ELSEIF ($choice1 = 10)
$colour="silver"
$silver++
ELSEIF ($choice1 = 11)
$colour="gold"
$gold++
ENDIF
Return()

:pick2
IF ($choice2 = 0)
$colour="black"
$black++
ELSEIF ($choice2 = 1)
$colour="brown"
$brown++
ELSEIF ($choice2 = 2)
$colour="red"
$red++
ELSEIF ($choice2 = 3)
$colour="orange"
$orange++
ELSEIF ($choice2 = 4)
$colour="yellow"
$yellow++
ELSEIF ($choice2 = 5)
$colour="green"
$green++
ELSEIF ($choice2 = 6)
$colour="blue"
$blue++
ELSEIF ($choice2 = 7)
$colour="violet"
$violet++
ELSEIF ($choice2 = 8)
$colour="grey"
$grey++
ELSEIF ($choice2 = 9)
$colour="white"
$white++
ELSEIF ($choice2 = 10)
$colour="silver"
$silver++
ELSEIF ($choice2 = 11)
$colour="gold"
$gold++
ENDIF
Return()

:done
Sleep(1000)
SayWait("Actually I really like $colour")
Halt()



This script he is always unsure of his answer until he chooses the same one a few of times or twice in a row.
#2  
This great Rich. I've been wanting to add this to my B9 and was thinking about how to write the script. Now, Here it is! Thanks!
#3  
Yes.....

Now i remember it....

Thanks Rich;)

Thanks for sharing

Regards
Sakis:D
United Kingdom
#4  
That code is pretty old and probably could be written a lot better now so feel free to do so:)

To be honest, it was knocked up for a single run so provided it worked that's all that mattered, it only needed to work once.

It was also written before the syntax changes to EZ-Script so there may be a few errors, nothing too difficult to fix and ARC will tell you what the errors are if you run it. Personally I'd use it as a base but rewrite it from scratch to ensure no errors and to ensure it works the way you want it to, it should be pretty easy to follow:)
#5  
ok,

I'll try to write the code and use it with speech recognition.
#6  
i write & run the code

and i saw this message

Start
2: $answer = GetRadom (1,3)
> Error on line 2: Missing String Quotes or Invalid Expression: GetRadom (
Done (00:00:00.0100000)
United Kingdom
#7  
Check for typos;)

The command is GetRandom() you're missing an n:)
#8  
When you are in a hurry *blush*