(* inuyasha5.ml - Don Yang (uguu.org) 01/09/02 *) type t = {x : float; y : float};; let i n u ya s h a = {x = n +. (cos ya) *. a.x *. s -. (sin ya) *. a.y *. h; y = u +. (sin ya) *. a.x *. s +. (cos ya) *. a.y *. h};; let p = print_string;; let q x = print_float x; p " ";; let r x y = x +. Random.float y;; let s c = q c.x; q c.y;; let rec z x = if x > 0 then ( z (x - 1); q (r 0.5 0.5); q (r 0. 0.1); q (r 0. 0.1); p "r "; ( match ( List.map (i (r 72. 468.) (r 72. 648.) (r 0. (4. *. atan2 1. 0.)) (r 12. 34.) (r 12. 24.)) [{x = 4.; y = -5.}; {x = 4.; y = 5.}; {x = 0.; y = 6.}; {x = 6.; y = 5.}; {x = 6.; y = -5.}; {x = 0.; y = -6.}] ) with k::a::g::o::m::e::[] -> s e; p "m "; s k; s a; s g; p "c "; s o; s m; s e; p "d\n" | _ -> () ) );; Random.self_init();; p ("/m{moveto}def/r{setrgbcolor newpath}def" ^ "/c{curveto}def/d{c closepath fill}def\n");; z (16 + Random.int 16);;