Award
Congratulations JustinRatliff, for answering the question and has received an EZ-Credit award! Share what you have learned and create a tutorial to help others by clicking here.

New Help With This Script

Assistance Requested

Help bhouston with their question and receive $10 of EZ-Credit to get more robots and parts from our store. The following information was provided about their previous efforts searching tutorials for a resolution.

bhouston claims to have checked these sources:
 
#1

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.

Code:


: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

I have found a few conversations, tutorials and activities that may help with your question. Take a look at these links. I've sorted them by what I believe to be most relevant but that is not always the case as I'm still learning.


Also, consider reviewing the Learn section for informative lessons and activities. Check it out!


#2

Are you using WaitForSpeech somewhere in another script? After the WaitForChange you have only 2 choices... I think you need a 3rd so in case the waitforchange does not get either of your response's it immediately skips back to start.... No sense going further and getting stuck on the next waitforchange

Code:


:start
$heard = "speech"
WaitForChange($heard)
if($Heard = "won")
$x = 1
Say("one")
elseif($heard="two")
$x = 2
Say("two")
else
say("sorry, didn't hear your response correctly")
GoTo(start)
endif

WaitForChange($heard)
if($heard = "plus one")
$y = 1
Say("plus one")
elseif($heard = "plus two")
$y = 2
Say("plus two")
#print($x + $y)
else
say("sorry, didn't hear your response correctly")
GoTo(start)
EndIf

WaitForChange($heard)
if($heard = "what does that equal")
$answer= $x + $y
Saywait($x + " plus " + $y + " equals " + $answer)
print($x + $y)
Endif
GoTo(start)

#3

This is how I would do it:

Code:


$sum = Abs($x + $y)
Say($x + " plus " + $y + " equals the sum " + $sum)



Abs is the math function and you can do basic math with it like add, subtract, multiple and divide.

#4

I shouldn't have posted this thread so late at night - The title should have read "Need help with this script", anyway, you guys understood what I meant.
@JustinRatliff Thanks that worked. I was so close once.
@Richard R Thanks, Ya I have to put what you suggested in the script. I'm building it step by step, there's lots more to go in to it.

#5

Resolved

#6

@bhouston.... No problem ... I am sure I will be asking you question here and there about your inmoov build... I have just taken the plunge and begun building my own.... Speaking of questions... here is a quick one.... Are you using the HK15298 servos in the forearms for the fingers and wrist rotate?

#7

@Richard R I used HS-311 and MG996R for the fingers and wrists. They were readily available. Email anytime at houston5913@hotmail.com If you have questions and don't want to post them here.

#8

@bhouston.... Thanks man.... Smile

#9

I am writing some math scripts, I've got addition and subtraction figured out . For multiplication I've tried -

Code:


$x=2
$Y=2
print ($x x $y)


Doesn't like the "x" in there.
What symbols should I use for multiplication and division.
Thanks

#10

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...