[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/10 16:01 / Filesize : 349 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

七行プログラミング part2



662 名前:561 [02/08/19 18:49]
お盆明けage〜。
3D迷路です。(M.java : 現在12行)

import java.awt.*;class M{public static void main(String[]a){new Frame(){int W=
200,M=15,G=5,x,y,d,u,v,a,b,i,j;int[]s={0,1,0,-1,0},m[]=new int[M][M],w[]={{36,
48,50,40,7,3},{36,80,84,40},{12,36,40,20,9,1},{12,100,108,20},{0,12,20,10}},q;
Canvas c;{for(;i<M*M;)m[x=i%M][y=i++/M]=x<2|y<2|x>M-3|y>M-3?1:0;m[M-3][M-2]=2;
for(i=G*G;i>0;)if(m[x=(j=(int)(Math.random()*G*G*4))%G*2+3][y=j/G%G*2+3]<1&m[x+
s[j/=G*G]*2][y+s[j+1]*2]>0)m[x][y]=m[x+s[j]][y+s[j+1]]=i/i--;x=y=2;add(c=new
Canvas(){{resize(W,W);}public void paint(Graphics g){for(i=0;i<8;i++){u=(i+2)%3
-1;v=2-i/3;j=m[x+s[d]*u+s[d+1]*v][y-s[d+1]*u+s[d]*v];if(j>0){g.setColor(j>1?
Color.RED:Color.GRAY);Polygon p=new Polygon();q=w[(i%3)*2/3+(i/3)*2];for(j=0;j<
q.length;){u=q[j++];u=i%3<1?120-u:u;p.addPoint(u/11*20,u%11*20);}g.fillPolygon(
p);}}}});pack();show();}public boolean keyDown(Event e,int k){k-=51;d=k>0&k<4?d
+k&3:d;if(k==5&m[a=x+s[d+1]][b=y+s[d]]<1){x=a;y=b;}c.repaint();return 1>0;}};}}

せっかくだから赤い扉を目指してください(笑)
(辿り着いても、何も起きませんけど(^^;))
操作は8で前進、4/6で左右90度回転、5で180度回転、です。

迷路作成部分が2行半ほどあるのが無駄かな。
迷路を固定にしちゃえば、もう少し縮められそうですが…。







[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<349KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef