My 6 year old grandson is a big EZ-Robot fan and can build an Adventure Bot from scratch in 15 minutes now by himself. He decided to add a claw to the robot and was happy that he could control it with Joystick #2 on the Logitech F710 controller.
He was not so happy when he wanted to add a 2nd and 3rd claw and I told him there were no other joysticks available. His comment was "why can't I just push a button on the controller to tell it which claw the joystick #2 is to control?"
After some research, I set Joystick #2 to control virtual servos V0 & V1 and then used joystick button scripts to set an $arms variable (0,1,2)
Then I added a looping script to read the virtual servos and based on the value in $arms to control the correct servosCode:
ServoSpeed( d2, 1)
ServoSpeed( d3, 1)
ServoSpeed( d4, 1)
ServoSpeed( d5, 1)
ServoSpeed( d8, 1)
ServoSpeed( d9, 1)
$arms=0
:loop
$X= GetServo( v0 )
$y= Getservo( v1 )
if ($arms=0)
Servo( d2, $x )
Servo( d3, $y)
endif
if ($arms= 1)
Servo( d5, $x)
Servo( d6, $y)
endif
if ($arms=2)
Servo( d8, $x)
Servo( d9, $y)
endif
Goto (loop)
Really worked out well, and he understands the concept, but not the code (yet)...
Other robots from Synthiam community

Jdvann's My Dog

Ericez's Droid For Theater Robot Contest

Alan
Thanks for your insight on the code. I originally had a 500ms sleep in there but the servo movement was too choppy. I'll try smaller values to give other processes a chance to run
I was also going to convert it to use ElseIf to make it a bit more elegant
If there any kind of "case" statement in EZ Script? I couldn't find it
Thanks for the tips
Frank
that means the code is 300% less efficient than it could be.
Maybe Blockly might be a good interface for you to use, as it makes visualizing code easier.
You have a /2 Comm on the ez-b, no need for sleeps