bitmap_path = "/afs/athena/user/k/k/kkkken/prj/squid/bm" fuz1 = bitmap("fuz1.xbm") fuz2 = bitmap("fuz2.xbm") fuz3 = bitmap("fuz3.xbm") fuz4 = bitmap("fuz4.xbm") fuz5 = bitmap("fuz5.xbm") fuz6 = bitmap("fuz6.xbm") fuz7 = bitmap("fuz7.xbm") fuz8 = bitmap("fuz8.xbm") fuzj1 = bitmap("fuzj1.xbm") fuzj2 = bitmap("fuzj2.xbm") bfuz1 = bitmap("bfuz1.xbm") bfuz2 = bitmap("bfuz2.xbm") bfuz3 = bitmap("bfuz3.xbm") bfuz4 = bitmap("bfuz4.xbm") bfuz5 = bitmap("bfuz5.xbm") bfuz6 = bitmap("bfuz6.xbm") bfuz7 = bitmap("bfuz7.xbm") bfuz8 = bitmap("bfuz8.xbm") bfuzj1 = bitmap("bfuzj1.xbm") bfuzj2 = bitmap("bfuzj2.xbm") fuzz_dance = sequence while (1) show fuz1 tick show fuz2 tick show fuz3 tick show fuz4 tick show fuz5 tick show fuz6 tick show fuz7 tick show fuz8 tick end end bfuzz_dance = sequence while (1) show bfuz1 ticks(2) show bfuz2 ticks(2) show bfuz3 ticks(2) show bfuz4 ticks(2) show bfuz5 ticks(2) show bfuz6 ticks(2) show bfuz7 ticks(2) show bfuz8 ticks(2) end end fuzz_walk = sequence (dx, dy, howfar) while (howfar > 0) move (dx, dy) howfar = howfar - 1 tick end end bfuzz_walk = sequence (dx, dy, howfar) while (howfar > 0) move (dx*2, dy*2) howfar = howfar - 2 ticks(2) end end do_fuzz = sequence moveto (-28, screen_height - 24) start fuzz_dance call fuzz_walk(2, 0, screen_width / 2 + 30) end do_bfuzz = sequence moveto (-40, screen_height - 48) start bfuzz_dance call bfuzz_walk(2, 0, screen_width / 2 + 30) end do_jump = sequence moveto (-24, screen_height - 24) while (my_x() < screen_width) dancing = start fuzz_dance call fuzz_walk(2, 0, 150) kill dancing show fuzj1 move (0, 1) ticks(3) show fuzj2 call fuzz_walk(2, -7, 2) call fuzz_walk(2, -3, 2) call fuzz_walk(2, 0, 2) call fuzz_walk(2, 3, 2) call fuzz_walk(2, 7, 2) show fuzj1 ticks(3) move (0, -1) end end do_bjump = sequence moveto (-40, screen_height - 48) while (my_x() < screen_width) dancing = start bfuzz_dance call bfuzz_walk(2, 0, 150) kill dancing show bfuzj1 move (0, 2) ticks(3) show bfuzj2 call fuzz_walk(2, -10, 2) call fuzz_walk(2, -4, 2) call fuzz_walk(2, 0, 2) call fuzz_walk(2, 4, 2) call fuzz_walk(2, 10, 2) show bfuzj1 ticks(3) move (0, -2) end end do_family = sequence create () t1 = start do_general(do_bjump) ticks (35) create () t2 = start do_general(do_jump) ticks (25) create () t3 = start do_general(do_jump) ticks (25) create () t4 = start do_general(do_jump) ticks (25) create () t5 = start do_general(do_bjump) while (running(t1) || running(t2) || running(t3) || running(t4) || running(t5)) tick end end do_pair = sequence create() t1 = start do_general(do_bjump) ticks (35) create() t2 = start do_general(do_bjump) while (running(t1) || running(t2)) tick end end do_general = sequence (foo_proc) foo = start foo_proc while (running(foo)) tick if (collide(mouse)) then kill (foo) call fuzz_walk (0, 2, 40) return 0 end end end s = 300 while (1) create () call do_general(do_fuzz) sleep(s) create () call do_general(do_bfuzz) sleep(s) call do_pair sleep(s) call do_family sleep(s) end