ゲームを作りたい人のための ソースコード集

私がその日作った短めのソースを簡単な解説とともに載せていきます
ゲーム制作初心者にとって参考になるかもしれないソースが多いです


<< 一日ゲームNo.17「PolyhedronSuffle」 | main | 三次元極座標 >>



点同士を繋ぐ線

点と点の間に直線を描写するプログラムです

点同士をドラッグすることで線を引けます


randomize
areal=20
sum=10
dim ptcct,sum,sum
cctnum=0
dim ptxy,2,sum
repeat sum
    ptxy(0,cnt)=rnd(640),rnd(480)
loop
setid=-1
*main
    mux=mousex:muy=mousey
    ok1=k1:getkey k1,1:tk1=k1^ok1&k1:rk1=k1^ok1&ok1
    color 255,255,255:boxf:color
    if tk1{    ;点をクリック
        repeat sum
            len=sqrt(powf(mux-ptxy(0,cnt),2)+powf(muy-ptxy(1,cnt),2))
            if len<=areal{
                setid=cnt
                break
            }
        loop
    }
    if k1{
        if setid>=0{    ;別の点にドラッグすることでラインを描写
            repeat sum
                len=sqrt(powf(mux-ptxy(0,cnt),2)+powf(muy-ptxy(1,cnt),2))
                if len<=areal{
                    if cnt!=setid{
                        ptcct(cnt,setid)=1
                        ptcct(setid,cnt)=1
                        setid=cnt
                        break
                    }
                }
            loop
        }
    }else{
        setid=-1
    }
    ;点描写
    repeat sum
        x=ptxy(0,cnt):y=ptxy(1,cnt)
        circle x-10,y-10,x+10,y+10
    loop
    ;ライン描写
    repeat sum-1:j=cnt
        repeat sum-(j+1),j+1:i=cnt
            if ptcct(i,j)=1{
                sx=ptxy(0,i):sy=ptxy(1,i)
                gx=ptxy(0,j):gy=ptxy(1,j)
                line gx,gy,sx,sy
            }
        loop
    loop
    redraw:await 17:redraw 0
    goto *main

0
    posted by higashijugem 22:34comments(0)|-|


    この記事に対するコメント