JAVAプログラムの例 (public goods game on a lattice)

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);
		}
	}
}

動作原理がわかるかな?