2種類のpunisherがいる公共財ゲームモデルのプログラム例を紹介する。手本となるプログラムとはいえないが、描画の手法や継承などについての参考例として見てほしい。
プログラムは3つのファイルからなる。
この3つのファイルを同じプロジェクトフォルダにおけばコンパイル、実行をしてみることができる。 試してみてほしい。
上のdrawPattern.javaに、フレームをつくって、その中で、格子上のセルの色を塗り替えるクラスが定義されている。これをあるディレクトリにおき、次のようなプログラムを動かしてみよう。
import java.io.*; public class simpleDraw { static int maxSize = 400; // width of window in pixels static int size = 50; // lattice size; can be any divisor of maxSize static drawPattern draw; /* main */ public static void main(String[] args) { int i,j,c; draw = new drawPattern(maxSize, size); // ゲームのパターン描画オブジェクト while(true){ i = (int) (Math.random() * size); // (i,j)をランダムに選ぶ j = (int) (Math.random() * size); c = (int) (Math.random()*4); draw.colorSquare(i, j, c); } } }
動作原理がわかるかな?