"Fun" for the kids. You must have VC's Python plugin enabled.
Quiz them on their multiplication tables (currently the command will test them on their 1 to 15 times tables -- easy to change):
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.4.6-->
<commandGroup open="True" name="math magic the Python way" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="681" name="Kids quiz -- 15 times tables" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>TTS.SpeakSync</cmdType>
<params>
<param>Great idea. How about this one?|OK. Are you ready?</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.SetVar</cmdType>
<params>
<param>question</param>
<param>{Rnd.1.15} * {Rnd.1.15}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>What is {var.question}?</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>What is {var.question}?</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>PY.ExecString</cmdType>
<params>
<param>result={var.question}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>Results.SetVar</cmdType>
<params>
<param>answer</param>
<param>{LastResult}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>Give me a math challenge, I want to practice my times tables</phrase>
<phrase optional="true">please.</phrase>
</command>
<command id="693" name="Here is my answer" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>TTS.SpeakSync</cmdType>
<params>
<param>Your answer was {1}.|You think the answer is {1}?|Sounds like your response was {1}.</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>OSD.ShowText</cmdType>
<params>
<param>Your response: {1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)==(B)</ifType>
<ifParams>{1}&&{var.answer}</ifParams>
<then>
<action>
<cmdType>OSD.AddText</cmdType>
<params>
<param>That's right! {var.question} = {var.answer}. </param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>{var.question} = {var.answer}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>Great job!|Nice work.|Good stuff.|You're on a roll.</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else>
<action>
<cmdType>OSD.AddText</cmdType>
<params>
<param>Oops. {var.question} = {var.answer}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>Whoops.|Not quite.|That's incorrect, unfortunately.</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>{var.question} = {var.answer}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</else>
</if>
<phrase>My answer is, The answer is</phrase>
<payloadRange>1,225</payloadRange>
</command>
</commandGroup>