Report#8


[課題]
Report#8:Java Appletプログラミング{〜2/9(Mon)} 
	   *Java Applet/AWTについて学び、Java Appletのオリジナルプログラムを作成し解説せよ。 
	

[プログラム]
五目並べのアプレット実行
プログラムソース
[考察]
	[gomoku.javaの概要]                                                                 
	
import java.awt.*; import java.util.Random;
public class gomoku extends java. Applet implements Runnable{ /*アプレットに使われるボタンやメッセージ、int型の石の配置情報*/ }
public void start(){ /*ボタン(ラベル)やメッセージなどの内容と配置(ゲームが始まる状態)*/ }
public void stop(){ /*終了した時、runner=nullにして終了メッセージを表示*/ }
public void banmenClear(){ /*盤面のイメージをクリアー*/ }
public ishi_haiti(int x,int y){ /*石を配置するときの動作*/ }
public boolean mouseMove(Event evt,int x,int y){ /*画面上のマウスカーソルの情報*/ }
public boolean mouseDown(Event evt,int x,int y){ /*マウスを押した時の石の動作[hantei()を使う]*/ }
public void run(){ /*スレッド本体。終了するかはここで決定する。[hantei()を使う]*/ }
public boolean action(Event evt,Object what){
if(evt.target==bt{ /*Startボタンのアクション*/ }
if(evt.target==bt2){ /*Stopボタンのアクション*/ }
if(evt.tartget==lan){ /*文字を表示するアクション*/ } }
public void sikou(int isi){ /*コンピュータの思考プログラム*/ }
public boolean cpuTurn(){ /*コンピュータの次の一手を決定*/ }
public void hantei(int v){ /*石が5つ並んでいるか判定*/ }
public void game_end(){ /*ゲーム終了の動作*/ }
public void print(Graphics g){ /*盤面上のカーソル枠のイメージ*/ }
public void update(Graphics g) /*paint(g);*/ }
	思考アルゴリズム
	 このプログラムでは、コンピュータの手を決めるためにまず盤面を評価して、「点数」をつけています。
	例えば、自分の石が4つ並んでいてその隣が空いているのなら、最優先でそこに打ちなので、その目の「点数」
	を一番高くします。
	 また、連続する4つの中に自分の石が3つありその両隣が空いているなら、 次にその空いている所に打てば
	「必死」になるので、そこにもやはり高い点数を与えます。 ただし、その点数は次の手で勝てる4連よりは低く
	する必要があります。
	それを判定する基準が
	
	 int kati=15000,hissi=1000,sanren=500,mittu=100,futatu=10; 
	 int kati2=12000,hissi2=500,sanren2=200,mittu2=80,futatu2=10;
	
	になります。
	
 コンピュータは、このようにしてそれぞれの目に対して点数をつけていき、 その点数が最も高い目に打ってきます。 このプログラムは、一手先しか読めず、一切「先」を読まないのであまり賢いとはいえません。
・盤面情報の変数
石の配置情報 int koma[16][16]・・・・・その目にある石。0でなし、1で黒ー1で白
得点     int score[16][16]・・・・その目の得点

[感想&反省]
	今回のレポートはとても楽しかったです。
	本当は囲碁のアプレットを作ってみたかったのですが、
	思考アルゴリズムが難しすぎるので五目並べにしました。
	一応コピペになるんですが、たぶん今までで一番考察したと思います。
	というかコピペといっても資料が多すぎて大変でした。。。
	
将来こんなソフトが作れるくらいに勉強したくなるような、 充実した課題だったので、とてもよかったです。
[参考文献]
スーパーマリオもあります
あゆしゃの世界
創作プログラミングの街