2007年6月8日金曜日

ワープゾーン

d3moduleによるワープゾーンっぽい表現。

これは半年近く前に書いたスクリプトなのですが、今思うとlength()関数を使うべき箇所や悪い変数名が散見されます。
#include "d3m.hsp"
    randomize
    repeat 50
        t(cnt) = 0.02*rnd(314)
        y(cnt) = rnd(500)
    loop
    screen 0480320
    d3setcam 00007000

*main
    redraw 0
    color : boxf
    color 191,191
    repeat 50
        d3initlineto
        d3ribbonto cos(t(cnt))*100, y(cnt), sin(t(cnt))*100cos(t(cnt) + 0.05)*100, y(cnt), sin(t(cnt) + 0.05)*100
        d3ribbonto cos(t(cnt))*100, y(cnt) + 200sin(t(cnt))*100cos(t(cnt) + 0.05)*100, y(cnt) + 200sin(t(cnt) + 0.05)*100
        y(cnt) -= 20
        if y(cnt) < 0 {
            t(cnt) = 0.02*rnd(314)
            y(cnt) = rnd(700) + 200
        }
    loop
    redraw
    wait 2
    goto *main

0 件のコメント: