- 591 名前:561 [02/07/29 18:36]
- 15パズル、7行達成しました〜♪
P.java(JDK1.4.0で確認) import java.awt.*;public class P{public static void main(String[]s){new Frame() {class B extends Button{String l,r;int o;B(int i){o=i%4+i/4*6;s(r=i+1+"");}void m(){if((64<<o&4257<<n.o)>0){n.s(l);s("");n=this;}}void s(String n){setLabel(l=n );}}int g;B n,a[]=new B[16];{setLayout(new GridLayout(4,4));for(;g<16;g++)add(n =a[g]=new B(g));n.s("");pack();show();for(;g++<999;)a[(int)(Math.random()*16)]. m();}public boolean action(Event e,Object o){if(g<0)System.exit(0);((B)e.target ).m();for(g=15;g-->0;)if(a[g].l!=a[g].r)return 1>0;n.s("E");return 1>0;}};}} ちょっと仕様変更して、 ・ウィンドウクローズボタンをあきらめ (七行スレのJavaプログラム標準?(^^;)) ・ゲームクリア時、リスタートせず終了するよう変更 としました。 あと、先達のテクニックも参考にさせていただきました。 (匿名クラスを使うのは目から鱗…)
|

|