//-*-c++-*-
#ifndef INCLUDED_RepeatAfterMe_h_
#define INCLUDED_RepeatAfterMe_h_

#include "Behaviors/Leapers.h"

#nodeclass RepeatAfterMe : StateNode
	#shortnodemethod setup
		#statemachine
			
			startnode: StateNode
			redon: RedLEDOn
			yellowon: YellowLEDOn
			greenon: GreenLEDOn
			
			startnode  =RND=> {redon, yellowon, greenon}
			
			redon =B(ChiaraInfo::RedButOffset)=> Speak($, "Congratulations!") =T(100)=> NodYes =T(4000)=> startnode
			yellowon =B(ChiaraInfo::YellowButOffset)=> Speak($, "Congratulations!") =T(100)=> NodYes =T(4000)=> startnode
			greenon =B(ChiaraInfo::GreenButOffset)=> Speak($, "Congratulations!") =T(100)=> NodYes =T(4000)=> startnode
			
			redon =B(ChiaraInfo::YellowButOffset)=> Speak($, "Fail! Try Again.") =T(100)=> NodNo =T(3000)=> redon
			yellowon =B(ChiaraInfo::GreenButOffset)=> Speak($, "Fail! Try Again.") =T(100)=> NodNo =T(3000)=> yellowon
			greenon =B(ChiaraInfo::RedButOffset)=> Speak($, "Fail! Try Again.") =T(100)=> NodNo =T(3000)=> greenon
			
			redon =B(ChiaraInfo::GreenButOffset)=> Speak($, "Fail! Try Again.") =T(100)=> NodNo =T(3000)=> redon
			yellowon =B(ChiaraInfo::RedButOffset)=> Speak($, "Fail! Try Again.") =T(100)=> NodNo =T(3000)=> yellowon
			greenon =B(ChiaraInfo::YellowButOffset)=> Speak($, "Fail! Try Again.") =T(100)=> NodNo =T(3000)=> greenon
			
		#endstatemachine
#endnodeclass

#endif
