どうしても道の太さに違いができてしまいます。
均一な太さにするにはどうすればいいでしょうか…?
#module ;toHSV(Shinya様のを使わせてもらっています) // 整数値比較マクロ #define ctype imax(%1, %2) ((%1>=%2)*%1 | %2*(%1<=%2)) #define ctype imin(%1, %2) ((%1<=%2)*%1 | %2*(%1>=%2)) #deffunc toHSV var H, var S, var V, int R, int G, int B V = imax(imax(R, G), B) u = V - imin(imin(R, G), B) ; ↓灰色のときはS(鮮やかさが)は0で、Hは指定しても意味がない if u == 0 : lpoke S : return ; ↓黒色のときはS,H共に 0 に初期化 S = int(255.0 * u / V) if V == R { H = int(32.0 * (G - B) / u) } else : if V == G { H = int(32.0 * (2.0 + double(B - R) / u)) } else { H = int(32.0 * (4.0 + double(R - G) / u)) } if H < 0 : H + 192 return #global #const global MASUSIZE 64 #const global scrx 550 #const global scry 550 #const global MASU_WAKU 2 #const global WORLD_HIRO_X 200*MASUSIZE #const global WORLD_HIRO_Y 200*MASUSIZE #const global MASU_KAZU 5 #const global LOAD_WEIGHT 6 #module ;getcolor32(R,G,B) #define global ctype getcolor32(%1=0,%2=0,%3=0) ((%1 & $FF) | (%2 << 8) | (%3 << 16)) ;color32 16進数 #define global color32(%1) color %1 & $FF,%1 >> 8 & $FF,%1 >> 16 & $FF ;getOpt(マスの種類,マスX,マスY) #define global ctype getOpt(%1,%2,%3) ((%1 << 16) | (%2 << 8) | (%3 & $FF)) ;getSyurui(getOpt数) ;getX(getOpt数) ;getY(getOpt数) #define global ctype getSyurui(%1) (%1 >> 16 & $FF) #define global ctype getX(%1) (%1 >> 8 & $FF) #define global ctype getY(%1) (%1 & $FF) //PrintMasu X,Y,カラー(getcolor32) #deffunc PrintMasu int mX,int mY,int clr,local mw,local em,local h,local s,local v color 255,255,255 circle mX,mY,mX+MASUSIZE,mY+MASUSIZE color32 clr // dialog "r:"+ginfo_r+"\ng:"+ginfo_g+"\nb:"+ginfo_b toHSV h,s,v,ginfo_r,ginfo_g,ginfo_b v = 160 em=MASU_WAKU mw=MASUSIZE-MASU_WAKU repeat hsvcolor h,s,v // dialog "r:"+ginfo_r+"\ng:"+ginfo_g+"\nb:"+ginfo_b+"\nh:"+h+"\ns:"+s+"\nv:"+v circle mX+em,mY+em,mX+mw,mY+mw em+=MASU_WAKU mw-=MASU_WAKU if em>mw:break v+=10 if v>255:v=255 loop return //PrintLoads スクロールX,スクロールY,色 #deffunc PrintLoads int ssx,int ssy,int cllr,local mux,local muy,local muux,local muuy,local vv color32 cllr toHSV h,s,vv,ginfo_r,ginfo_g,ginfo_b repeat MASU_KAZU-1 v=vv mux=getX(masu@(cnt))*MASUSIZE+MASUSIZE/2-ssx muy=getY(masu@(cnt))*MASUSIZE+MASUSIZE/2-ssy muuy=getY(masu@(cnt+1))*MASUSIZE+MASUSIZE/2-ssx muux=getX(masu@(cnt+1))*MASUSIZE+MASUSIZE/2-ssy repeat LOAD_WEIGHT hsvcolor h,s,v line muux,muuy-cnt,mux,muy-cnt line muux,muuy+cnt,mux,muy+cnt v-=60/LOAD_WEIGHT loop loop return //ToDispFiled X座標,Y座標 #deffunc ToDispFiled int wX,int wY,local eX,local eY eX=(wX+scrx) eY=(wY+scry) gsel 0 redraw 0 color 0,255,0:boxf PrintLoads Scrollx@,Scrolly@,getcolor32(255,255,255) repeat MASU_KAZU // dialog "cnt:"+cnt+"\nX:"+(getX(masu@(cnt))*MASUSIZE)+"\nY:"+(getY(masu@(cnt))*MASUSIZE) if (getX(masu@(cnt))*MASUSIZE)<eX:if ((getX(masu@(cnt))*MASUSIZE)+MASUSIZE)>=wX:if (getY(masu@(cnt))*MASUSIZE)<eY:if ((getY(masu@(cnt))*MASUSIZE)+MASUSIZE)>=wY{ PrintMasu getX(masu@(cnt))*MASUSIZE-wX,getY(masu@(cnt))*MASUSIZE-wY,masuClr@(getSyurui(masu@(cnt))) // dialog "描画("+cnt+")" } loop redraw 1 return #global masuClr = getcolor32(0,0,255),getColor32(255,0,0),getColor32(0,255,255),getColor32(128,0,128),getColor32(192,192,192) title "ゲーム?" dim masu,MASU_KAZU masu = getOpt(0,0,0),getOpt(1,2,0),getOpt(2,4,1),getOpt(3,3,3),getOpt(4,2,4) Scrollx=0:Scrolly=0 ;どれだけスクロールしてるか ToDispFiled Scrollx,Scrolly