//-*-c++-*-
#ifndef INCLUDED_RepeatAfterMeReflex_h_
#define INCLUDED_RepeatAfterMeReflex_h_
#include "Behaviors/Leapers.h"
#nodeclass RepeatAfterMeReflex : StateNode
#shortnodemethod setup
#statemachine

startnode: StateNode
redOn: RedLEDOn
redOff: RedLEDOff
yellowOn: YellowLEDOn
yellowOff: YellowLEDOff
greenOn: GreenLEDOn
greenOff: GreenLEDOff
correct: NodYes
incorrect: NodNo
//Add States for different times
timeshort: StateNode
timemed: StateNode//??? How ???

startnode =RND=> {redOn, yellowOn, greenOn}

correct =C=> startnode
incorrect =C=> startnode

redOn =T(250)=> redOff
redOff =B(ChiaraInfo::RedButOffset)=> Speak($, "good") =T(100)=> correct
redOff =B(ChiaraInfo::YellowButOffset)=> Speak($, "wrong") =T(100)=> incorrect
redOff =B(ChiaraInfo::GreenButOffset)=> Speak($, "wrong") =T(100)=> incorrect

yellowOn =T(250)=> yellowOff
yellowOff =B(ChiaraInfo::RedButOffset)=> Speak($, "wrong") =T(100)=> incorrect
yellowOff =B(ChiaraInfo::YellowButOffset)=> Speak($, "good") =T(100)=> correct
yellowOff =B(ChiaraInfo::GreenButOffset)=> Speak($, "wrong") =T(100)=> incorrect

greenOn =T(250)=> greenOff
greenOff =B(ChiaraInfo::RedButOffset)=> Speak($, "wrong") =T(100)=> incorrect
greenOff =B(ChiaraInfo::YellowButOffset)=> Speak($, "wrong") =T(100)=> incorrect
greenOff =B(ChiaraInfo::GreenButOffset)=> Speak($, "good") =T(100)=> correct



#endstatemachine
#endnodeclass
#endif
