start :-
nxt_open, nxt_light_LED(activate), nxt_go(300), trigger_create(_,check_distance,obstacle).
check_distance :-
nxt_light(Value,force), Value < 48.
obstacle :-
nxt_stop, Angle is 120 + random(120), nxt_rotate(300,Angle), start.
finish :-
nxt_stop, nxt_light_LED(passivate), nxt_close.
start :-
nxt_open, nxt_light_LED(activate), go_forward.
go_forward :-
nxt_go(100), trigger_create(_,check_black,white).
check_black :-
nxt_light(Value,force), Value > 46.
white :-
nxt_stop, nxt_rotate(300,5), go_forward.
finish :-
nxt_stop, nxt_light_LED(passivate). nxt_close.
start :-
%nxt_open, nxt_goal(dyzio, init).
init :-
trigger_create(_,press,stop), go_on_buddy.
go_on_buddy :-
nxt_go(100), sleep(1), % Chwila przerwy, żeby jedno klaśnięcie nie zostało rozpoznane jako dwa. trigger_create(_,clap,run_away_buddy).
run_away_buddy :-
nxt_stop, nxt_rotate(500,180), nxt_go_cm(500,20), go_on_buddy.
% Sprawdzenie, czy natężenie dźwięku przekracza progową wartość. clap :-
nxt_sound(Value,force), Value > 40.
%Sprawdzenie, czy naciśnięty został sensor dotyku press :-
nxt_touch(Value,force), Value > 0, stop.
stop :-
nxt_stop, trigger_killall, %nxt_close.