落ちゲー実験 FallBingo!! Phase3
素材提供:桐屋杏介
<<ルール>>
基本的に1人用。オペレーションはマウスのみ
クリックするとキャラが落ちる。
初回以外は左右下のいずれかにキャラが接する場所にしか落とせない。
縦横斜めのいずれかに同じキャラが連続して4つ並んだ方が勝ち。
思考ルーチンは悲しいほどショボいため、パターンが判れば勝のは容易。
守ることに重点を置いて考えるように組んだつもり。
先読みはできない。
元ネタは実家に置いてあった海外製のおもちゃ
乱数の生成に関して、Java標準のMath.Random()やRandomクラスで使われている48ビット線形合同法では精度が悪い上に遅いことが知られているため、大変優れた乱数生成アルゴリズムである
Mersenne Twisterを使用した。
公開コードはCだが、Java化するのが面倒っつーか理解不能だったので、
ここから勝手にパクらせて頂いた。こっそり感謝。
だが、この程度のゲームにこんな高度な乱数が必要かどうかは微妙。
Phase2を公開した当初、K大佐の指摘でロクに動かないことが判明。
原因は公開する前からうすうす感づいていたことだけど、JVMの違いでした。
開発環境では、Sunのv1.4.2だったのですが、ほとんどのWindowsに標準で搭載されているのはMS-JVMで、これはSunのv1.1に相当する。
つーか、MSJVM遅すぎ。JavaAppletとかで遊ぶことが多い人(あのブロック崩しとか)は、Sunからv1.4落としてインストールしたほうが軽いですよ。
ソースは汚い上に恥ずかしいので暫く公開できない。
- Phase3.2:AIぷち強化。
- Phase3.1:初期画面つけた。
ゲーム終了後、クリックで再開できるようにした。
将来AIの処理に時間が掛かるようになったときに備えて別スレッド化(そんなAI組むかわからんけど)
- Phase3:AIちょっと強化した…はずなのに弱くなった。
Java1.1相当でコンパイルしたので動くと思うんだけど未チェック。
CPU負荷を下げた。その代わりに動きがカクカクする。
- Phase2:AI搭載。でも弱すぎ。JavaVMがSunの1.4じゃないとマトモに動かなかった
- Phase1:とりあえず動くモノを作る。AI未搭載なので、人対人。マウスを交代で持ち替えてやる。ダサッ
戻る