program test { #include#include #include #include sensor touch1 on 1 touch1 is switch as boolean macro POWER1 { power [ A ] 8 power [ C ] 8 } macro SOUND10 { bb_PlayNote( 698, 20, 20 ) bb_Backward(A, C, 20) } macro SOUND5 { bb_PlayNote( 698, 20, 20 ) bb_Backward(A, C, 10) } macro TOUCHANDBACK1 { if touch1 is closed { SOUND15 } else { bb_Forward(A, C, 10) } } macro SOUND15 { bb_PlayNote( 698, 20, 20 ) bb_Backward(A, C, 40) } main { ext InterfaceType "kFreestyle" rcx_ClearTimers bbs_GlobalReset([A B C]) try { POWER1 } retry on fail try { bb_Forward(A, C, 90) } retry on fail try { bb_TurnRight(A, C, 40) } retry on fail try { bb_Forward(A, C, 20) } retry on fail try { if touch1 is closed { SOUND10 } else { bb_Forward(A, C, 10) if touch1 is closed { SOUND10 } else { bb_Forward(A, C, 10) if touch1 is closed { SOUND10 } else { bb_Forward(A, C, 10) } } } } retry on fail try { bb_TurnRight(A, C, 50) } retry on fail try { bb_Forward(A, C, 28) } retry on fail try { bb_TurnLeft(A, C, 25) } retry on fail try { bb_Forward(A, C, 100) } retry on fail try { if touch1 is closed { SOUND10 } else { bb_Forward(A, C, 10) if touch1 is closed { SOUND10 } else { bb_Forward(A, C, 10) if touch1 is closed { SOUND10 } else { bb_Forward(A, C, 10) } } } } retry on fail try { bb_TurnRight(A, C, 50) } retry on fail try { bb_Forward(A, C, 20) } retry on fail try { bb_TurnLeft(A, C, 30) } retry on fail try { bb_Forward(A, C, 70) } retry on fail try { if touch1 is closed { SOUND5 } else { bb_Forward(A, C, 10) if touch1 is closed { SOUND5 } else { bb_Forward(A, C, 10) if touch1 is closed { SOUND5 } else { bb_Forward(A, C, 10) } } } } retry on fail try { bb_Backward(A, C, 10) } retry on fail try { bb_TurnLeft(A, C, 50) } retry on fail try { bb_Forward(A, C, 40) } retry on fail try { bb_TurnRight(A, C, 35) } retry on fail try { bb_Forward(A, C, 60) } retry on fail try { bb_TurnRight(A, C, 40) } retry on fail try { bb_Forward(A, C, 50) } retry on fail try { bb_TurnLeft(A, C, 30) } retry on fail try { bb_Forward(A, C, 400) } retry on fail try { repeat 3 { TOUCHANDBACK1 } } retry on fail try { bb_Backward(A, C, 30) } retry on fail try { bb_TurnLeft(A, C, 70) } retry on fail try { bb_Forward(A, C, 150) } retry on fail try { bb_TurnRight(A, C, 60) } retry on fail try { bb_Forward(A, C, 200) } retry on fail try { repeat 2 { TOUCHANDBACK1 } } retry on fail try { bb_Backward(A, C, 40) } retry on fail try { bb_TurnRight(A, C, 50) } retry on fail try { bb_Forward(A, C, 80) } retry on fail try { bb_TurnLeft(A, C, 40) } retry on fail try { bb_Forward(A, C, 100) } retry on fail try { repeat 2 { TOUCHANDBACK1 } } retry on fail try { bb_Backward(A, C, 30) } retry on fail try { bb_TurnLeft(A, C, 50) } retry on fail try { bb_Forward(A, C, 150) } retry on fail try { bb_TurnRight(A, C, 60) } retry on fail try { bb_Forward(A, C, 120) } retry on fail try { repeat 3 { TOUCHANDBACK1 } } retry on fail try { repeat 10 { bb_RandomMove(A, C, 300 ) } } retry on fail } fragment ( 1505,417 ) { if touch1 is closed { sound 1 bb_Backward(A, C, 10) } else { bb_Forward(A, C, 10) } } fragment ( 206,179 ) { bb_TurnLeft(A, C, 40) } fragment ( 239,5149 ) { bb_TurnRight(A, C, 70) bb_TurnLeft(A, C, 50) } fragment ( 331,4869 ) { forever { } } }