beginning_of_program define_new_instruction turnright as iterate 3 times turnleft; define_new_instruction zig_zag_d as {if front_is_clear then {turnright; move; turnleft; move;} else turnleft;} define_new_instruction zig_zag_i as {if front_is_clear then {turnleft; move; turnright; move;}} beginning_of_execution turnoff; end_of_execution end_of_program