Canada
Asked — Edited
Resolved Resolved by JustinRatliff!

New Help With This Script

I am looking for a little help to finish off this script. The script as it is works, however, I want it to speak the sum of the 2 numbers. I have tried a few different ways but I can't get it. Hey, I pretty proud of getting this far with it. I've made a comment in the code of what I want it to say.


:start
$heard = "speech"
WaitForChange($heard)
if($Heard = "won")
$x = 1
Say("one")
elseif($heard="two")
$x = 2
Say("two")
endif

WaitForChange($heard)
if($heard = "plus one")
$y = 1
Say("plus one")
elseif($heard = "plus two")
$y = 2
Say("plus two")
#print($x + $y)
EndIf

WaitForChange($heard)
if($heard = "what does that equal")
#This is where I want it to say something like "$x plus $y equals the sum" or 
for example "1 plus 2 equals 3" (if those were the numbers it heard)
print($x + $y)
Endif
GoTo(start)

As always any help is appreciated, Thanks


ARC Pro

Upgrade to ARC Pro

Take control of your robot's destiny by subscribing to Synthiam ARC Pro, and watch it evolve into a versatile and responsive machine.

#9  

I copy and pasted your above example and for some reason you're right it didn't work... I then erased it and just typed in this time and it worked... Something about copy and pasting code from the forum into scripts that causes problems I guess...

#10  

It worked? I get this when I run it;


Start
1: $x=2
2: $Y=2
4: print ($x x $y)
> Error on line 4: Missing String Quotes or Invalid Expression: x
Done (00:00:00.1696435)

#11  

Ooops I see you are multiplying not adding... use the * symbol instead of x....

#13  

That's what I needed thanks.

#14  

Here is the code I use to allow the robot to play math game with my 4 year old.

this example limits the answer to 1 to 10 for her age.


$firstnumber = Getrandom(0,5)
$secondnumber = getrandom(0,5)
$answer = $firstnumber + $secondnumber
:loop
sayezb("what is " + $firstnumber + " plus " + $secondnumber )
sleep(3000)
$response = WaitForSpeech(50, "1","2","3", "4","5","6", "7","8","9","0","10")
sayezb("you said" + $response)
if ($response  == $answer ) 
sayezb("Good job! Yes " +  $answer + " is the correct answer")
else
Sayezb("Sorry " + $response + " is not correct. please try again.")
sleep(3000)
goto(loop)
endif


This is very interactive an she has a blast playing this with the robot.

I will modifiy this soon as we have sayezbwait()

#15  

Thanks, that's great. My granddaughter will love that!