Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %http://mundotecfacil.blogspot.com/
- %SWI Prolog
- turtle_init(Color):-
- retractall(turtle(_,_,_)),
- B is 600,
- H is 600,
- B1 is B /2,
- H1 is H / 2,
- W1 is 0,
- assert(turtle(B1, H1, W1)),
- free(@logo),
- new(@logo, picture('Fractals', size(B, H))),
- send(@logo, background(Color)),
- send(@logo, open_centered).
- turtle_term:-
- retractall(logo/3),
- free(@logo).
- turtle_drawto(X, Y):-
- retract(turtle(X1, Y1, W)),
- send(@logo, display, new(_, line(X1, Y1, X, Y))),
- assert(turtle(X, Y, W)).
- turtle_drawRand(L):-
- retract(turtle(X1, Y1, W)),
- X2 is X1 + L*cos(W*pi/180),
- Y2 is Y1 - L*sin(W*pi/180),
- send(@logo, display, new(LINE, line(X1, Y1, X2, Y2))),
- random(1000, 65535, RAND1),
- random(1000, 65535, RAND2),
- random(1000, 65535, RAND3),
- new(C, colour(@default, RAND1, RAND2, RAND3)),
- send(LINE, colour, C),
- assert(turtle(X2, Y2, W)).
- turtle_draw(L):-
- retract(turtle(X1, Y1, W)),
- X2 is X1 + L*cos(W*pi/180),
- Y2 is Y1 - L*sin(W*pi/180),
- send(@logo, display, new(LINE, line(X1, Y1, X2, Y2))),
- new(C, colour(@default, 0, 0, 0)),
- send(LINE, colour, C),
- assert(turtle(X2, Y2, W)).
- turtle_moveto(X, Y):-
- retract(turtle(_, _, W)),
- assert(turtle(X, Y, W)).
- turtle_drawRGB(L,Rojo,Verde,Azul):-
- retract(turtle(X1, Y1, W)),
- X2 is X1 + L*cos(W*pi/180),
- Y2 is Y1 - L*sin(W*pi/180),
- send(@logo, display, new(LINE, line(X1, Y1, X2, Y2))),
- new(C, colour(@default, Rojo, Verde, Azul)),
- send(LINE, colour, C),
- assert(turtle(X2, Y2, W)).
- turtle_move(L):-
- retract(turtle(X1, Y1, W)),
- X2 is X1 + L*cos(W*pi/180),
- Y2 is Y1 - L*sin(W*pi/180),
- assert(turtle(X2, Y2, W)).
- turtle_turn(W):-
- retract(turtle(X, Y, W1)),
- W2 is W1 + W,
- assert(turtle(X, Y, W2)).
- turtle_turnto(W):-
- retract(turtle(X, Y, _)),
- assert(turtle(X, Y, W)).
- drCorbatin(0,Largo,Rojo,Verde,Azul):-
- turtle_drawRGB(Largo,Rojo,Verde,Azul).
- drCorbatin(N,Largo,Rojo,Verde,Azul):-
- Seg is Largo / 4,
- N1 is N - 1,
- turtle_turn(60),
- drCorbatin(N1,Seg,Rojo,Verde,Azul),
- turtle_turn(-120),
- drCorbatin(N1,Seg,Rojo,Verde,Azul),
- drCorbatin(N1,Seg,Rojo,Verde,Azul),
- turtle_turn(120),
- drCorbatin(N1,Seg,Rojo,Verde,Azul),
- turtle_turn(-60).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement