:- consult('../plnxt'). % jazda po kwadracie kwadrat :- nxt_open, nxt_go_sec(400,1), nxt_turn(400,120), nxt_go_sec(400,1), nxt_turn(400,120), nxt_go_sec(400,1), nxt_turn(400,120), nxt_go_sec(400,1), nxt_turn(400,120). % silniki nie wylanczaja sie jednoczesnie po jezdzie na wprost % jazda do przeszkody, cofniecie, obrot check_ultrasonic :- nxt_ultrasonic(Value,force), Value < 30. check_sound :- nxt_sound(Value,force), Value > 50. ultrasonic :- nxt_stop, nxt_go_cm(-400,15), nxt_rotate(400,60), %nxt_go(400), %trigger_create(_,check_sound,[nxt_stop,nxt_close]). jazda :- nxt_open, nxt_go(400), trigger_create(_,check_ultrasonic,ultrasonic). % jazda do przeszkody (x razy) przeszkoda(X) :- nxt_open, trigger_create(_,check_ultrasonic,ultrasonic,inf), przeszkoda2(X). przeszkoda2(0). przeszkoda2(X) :- Y is X - 1, Y > 0, write(Y), nxt_go(400), przeszkoda2(Y). %Wyzuca blad i uniemozliwia dalsza komunikacje %ERROR: Arithmetic: `force/0' is not a function %^ Exception: (19) _L3673 is force//256 ? stop :- nxt_stop, nxt_close.