- 561 名前:デフォルトの名無しさん [02/07/25 18:55]
- 面白そうなので、私も作ってみました。15パズルです。
P.java(JDK1.4.0で確認) import java.awt.*;public class P extends Frame{class B extends Button{String l, r,t;int o;B(int i){o=i%4+i/4*6;s(r=i+1+"");}void m(){if((64<<o&4257<<n.o)>0){t= l;s(n.l);n.s(t);n=this;}}void s(String n){setLabel(l=n);}}int g;B[]a=new B[16]; B n;public P(){setLayout(new GridLayout(4,4));for(;g<16;g++)add(n=a[g]=new B(g) );pack();show();i();}void i(){n.s("");for(g=0;g++<999;)a[(int)(Math.random()*16 )].m();}public boolean handleEvent(Event e){if(e.id==201)System.exit(0);if(e.id ==1001)if(g<0)i();else{((B)e.target).m();for(g=15;g-->0;)if(a[g].l!=a[g].r) return 1>0;n.s("R");}return 1>0;}public static void main(String s[]){new P();}} 頑張って8行まで縮めたのですが、私にはこれで限界でした(;_;) ちなみに、201==Event.WINDOW_DESTROY、1001==Event.ACTION_EVENTです(笑) # 2ちゃんねる初書き込みなので、ちょっとどきどき…。
|

|