2009ver -> 2011ver -> 2009ver(今ここ)
とりあえず、参考サイト通りの動きができた
参照したのは、
> /src/ch/idsia/ai/agents/ai |
以下にある
ForwardAgent.java
これと参考サイト様を見ながらやっていく。以下のようなソースを作成。
> /src/ch/idsia/ai/agents/ai/KanpeAgent.java
package ch.idsia.ai.agents.ai; import ch.idsia.ai.agents.Agent; import ch.idsia.mario.engine.sprites.Mario; import ch.idsia.mario.environments.Environment; import ch.idsia.utils.MathX; /* *By Kanpe777 */ public class KanpeAgent extends BasicAIAgent implements Agent { private int trueJumpCounter = 0; public KanpeAgent() { super("KanpeAgent"); reset(); } public boolean[] getAction(Environment observation) { if (trueJumpCounter > 16) { trueJumpCounter = 0; action[Mario.KEY_JUMP] = false; } else { trueJumpCounter++; action[Mario.KEY_JUMP] = true; } action[Mario.KEY_RIGHT] = true; return action; } } |
このファイルを作成して、AIMarioのトップディレクトリにて
>ant |
コマンドを実行、BUILD SUCCESSFULがでるはず
>cd classes |
>java java ch.idsia.scenarios.Play ch.idsia.ai.agents.ai.KanpeAgent |
これで定期的にジャンプをするMarioができる。
これをGAでやるため、メタプログラミングをするか迷ったが、既に学習プログラムがある。
もともとに入っている。
次は、NNで学習しているソースを読みたいと思う。