version 2.01 platform ollo o // param_text:Title : 2nd Mouse example o // param_text:First Distribution : 2009/10/01 o // param_text:Last Modify : 2009/10/01 o // param_text:[Operating] o // param_text:Robot will move according to the sensor value. o main o begin o // param_text:It will play melody when it starts. o load param_dest:cm:55 param_src:buzzertime_num:255 o load param_dest:cm:54 param_src:melody_num:3 o wait param_src:cm:55 lop:> param_src:buzzertime_num:0 rop:then - o while(1) o begin o // param_text:It will stop to hear the sounds. o call faddr_dest:ReductionStop o load param_dest:cm:55 param_src:buzzertime_num:255 o load param_dest:cm:54 param_src:melody_num:12 o wait param_src:cm:55 lop:> param_src:buzzertime_num:0 rop:then o load param_dest:cm:33 param_src:timer_num:8 o wait param_src:cm:33 lop:> param_src:timer_num:0 rop:then o load param_dest:cm:56 param_src:dec_num:0 o load param_dest:cm:33 param_src:timer_num:12 o while param_src:cm:33 lop:> param_src:timer_num:0 rop:then o begin o if param_src:cm:56 lop:> param_src:dec_num:0 rop:then o begin o load param_dest:var:FastAcceleration param_src:bool_num:1 o break o end o else o load param_dest:var:FastAcceleration param_src:bool_num:0 o end - o call faddr_dest:AcceleratingForward o load param_dest:cm:33 param_src:timer_num:8 o while param_src:cm:33 lop:> param_src:timer_num:0 rop:then o begin o if param_src:cm:51 lop:> param_src:dec_num:100 rop:then o begin o load param_dest:cm:33 param_src:timer_num:8 o call faddr_dest:TurnRight o end o else o call faddr_dest:Forward o end o end o end - o function faddr_src:AcceleratingForward o begin o if param_src:var:FastAcceleration lop:== param_src:bool_num:0 rop:then o begin o // param_text:It will increase its speed gradually. o load param_dest:var:MovingSpeed param_src:dec_num:650 o for param_var:Count param_src:dec_num:1 param_src:dec_num:5 o begin o compute param_dest:var:MovingSpeed param_src:var:MovingSpeed aop:+ param_src:dec_num:50 o if param_src:var:MovingSpeed lop:> param_src:dec_num:1023 rop:then o load param_dest:var:MovingSpeed param_src:dec_num:1023 o call faddr_dest:Forward o call faddr_dest:ShortTimeWait o end o end - o load param_dest:var:MovingSpeed param_src:dec_num:1023 o call faddr_dest:Forward o end - o function faddr_src:ReductionStop o begin o if param_src:var:FastAcceleration lop:== param_src:bool_num:0 rop:then o begin o // param_text:It will decrease its speed gradually. o for param_var:Count param_src:dec_num:1 param_src:dec_num:5 o begin o compute param_dest:var:MovingSpeed param_src:var:MovingSpeed aop:- param_src:dec_num:200 o if param_src:var:MovingSpeed lop:< param_src:dec_num:0 rop:then o load param_dest:var:MovingSpeed param_src:dec_num:0 o call faddr_dest:Forward o call faddr_dest:ShortTimeWait o end o end - o load param_dest:var:MovingSpeed param_src:dec_num:0 o call faddr_dest:Stop o end - o function faddr_src:ShortTimeWait o begin o load param_dest:cm:33 param_src:timer_num:1 o wait param_src:cm:33 lop:> param_src:timer_num:0 rop:then o end - o function faddr_src:Forward o begin o compute param_dest:aux_motor:1 param_src:dir_num:0 aop:+ param_src:var:MovingSpeed o compute param_dest:aux_motor:2 param_src:dir_num:1024 aop:+ param_src:var:MovingSpeed o end - o function faddr_src:TurnLeft o begin o compute param_dest:aux_motor:1 param_src:dir_num:1024 aop:+ param_src:var:MovingSpeed o compute param_dest:aux_motor:2 param_src:dir_num:1024 aop:+ param_src:var:MovingSpeed o end - o function faddr_src:TurnRight o begin o compute param_dest:aux_motor:1 param_src:dir_num:0 aop:+ param_src:var:MovingSpeed o compute param_dest:aux_motor:2 param_src:dir_num:0 aop:+ param_src:var:MovingSpeed o end - o function faddr_src:Stop o begin o compute param_dest:aux_motor:1 param_src:dir_num:0 aop:+ param_src:dec_num:0 o compute param_dest:aux_motor:2 param_src:dir_num:0 aop:+ param_src:dec_num:0 o end Ž