//-*-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
			yes: NodYes
			no: NodNo
			speakyes: Speak($, "Congratulations!")
			speakno: Speak($, "Fail! Try Again.")
			
			startnode  =RND=> {redon, yellowon, greenon}
			
			redon =B(ChiaraInfo::RedButOffset)=> speakyes =T(100)=> yes =T(4000)=> startnode
			yellowon =B(ChiaraInfo::YellowButOffset)=> speakyes =T(100)=> yes =T(4000)=> startnode
			greenon =B(ChiaraInfo::GreenButOffset)=> speakyes =T(100)=> yes =T(4000)=> startnode
			
			redon =B(ChiaraInfo::YellowButOffset)=> speakno =T(100)=> no =T(3000)=> redon
			yellowon =B(ChiaraInfo::GreenButOffset)=> speakno =T(100)=> no =T(3000)=> yellowon
			greenon =B(ChiaraInfo::RedButOffset)=> speakno =T(100)=> no =T(3000)=> greenon
			
			redon =B(ChiaraInfo::GreenButOffset)=> speakno =T(100)=> no =T(3000)=> redon
			yellowon =B(ChiaraInfo::RedButOffset)=> speakno =T(100)=> no =T(3000)=> yellowon
			greenon =B(ChiaraInfo::YellowButOffset)=> speakno =T(100)=> no =T(3000)=> greenon
			
		#endstatemachine
#endnodeclass

#endif
