七行プログラミング part2
■ このスレッドは過去ログ倉庫に格納されています
0690561
NGNG色んなテクニックがあって、ほんと参考になります。
>689
「パラダイムシフト」なんてレベルではありませんが、ちょっと短くなりました。
(M.java : 現在10行[9行+19文字])
import java.awt.*;class M{public static void main(String[]a){new Frame(){int d,
u,i,j,p;int[]s={1,-15,-1,15,1},w={0,0,u=12,u,u,100,1,u,p=36,p,p,80,3,p,48},m=
new int[u=240];Canvas c=new Canvas(){{resize(u,u);}public void paint(Graphics g
){for(i=9;--i>0;g.fillPolygon(new Polygon(){{for(j=j/2*6-1;++j<6;addPoint((i%3<
2?120-u:u)/11*24,(j<3?120-u:u)%11*24))u=w[(i%3+1)/2*3+i/3*6+(j<3?j:5-j)-3];}}))
g.setColor(new Color((j=m[p+i/3*s[d]-((i+1)%3-1)*s[d+1]])<<23));}};{for(;i<165;
)m[i+28]=i++%15<4?0:2;for(m[193]=1;j<25;p=32)m[p=j/5*20+j*2+48]=m[p+s[i=(int)(
Math.random()*4)]]=m[p+s[i]*2]<2?++j*0:2;add(c);pack();show();}public boolean
keyDown(Event e,int k){k-=51;p=k==5&m[k=p+s[d=k>0&k<4?d+k&3:d]]>1?k:p;c.repaint
();return 1>0;}};}}
通路=0,壁=1,扉=2だったのを、通路=2,壁=0,扉=1にしました。
迷路の初期化部分が短縮できたようです。
また、この結果「茶色の中を黒い部分を目指す」が「黒の中を茶色い部分を目指す」とな
ります。
さらに、壁ポリゴンが一枚あたり5(+1)データだったのを、3データに減らしました。
ただ、このせいでaddPointの辺りがちょっと冗長ぎみに…。
■ このスレッドは過去ログ倉庫に格納されています