晴れ

 午前中はGoogle AI ChallengeBotを走らせるバッチを書いていました。詳細は下のほうに書きます。シェルスクリプトなんか久しぶりに書きましたが、便利なところと不便なところの差が激しいのが嫌だなあと思いました。便利なところは、for 〜 inへファイルのリストをワイルドカードで指定できるところ。findコマンドを使わなければいけないと思ってました。不便なところは、exprコマンドを使用しないと数値の計算ができないところ。Botは触ってません。ランキングは1600あたりをうろうろ。
 昼食後は近くの公園へサイクリング。
 夕方には「入社してないんですけど」出社して面接をひとつ受けました。簡単な面接で、10分少々で終わりました。入社後なら、「とっとと帰れてラッキー」なんでしょうが、まだ入社していないので「ちょっとしたことで呼びつけやがって」と少し思いました。少しだけ。次は金曜日です。
 夜はGoogle AI ChallengeBotを調整しました。強くなったかはともかく、自分の実装したとおりに動作が変わるのは楽しいです。ものづくりのおもしろさの基本だと思います。

Google AI ChallengeのBotを戦わせるスクリプト

 python_starter_packageへ置いて使用しています。MAPSをmaps/map*.txtとするとすべてのマップで試験しますが、時間がかかるのでお勧めしません。参加者が増えるといいなあ。

#!/bin/bash

# 1)Define constants.
MY_BOT=MyBot.py
ENEMY=example_bots/DualBot.jar
MAPS=maps/map1*.txt

# 2)Initialize variables.
win=0
total=0

# 3)Execute game for each maps.
for map in $MAPS
do
    echo -n "."
    total=`expr $total + 1`
    if java -jar tools/PlayGame.jar $map 200 200 log.txt "python $MY_BOT" "java -jar $ENEMY" 2>&1 | grep -q "Player 1 Wins!"
    then
        win=`expr $win + 1`
        echo -n "!"
    else
        echo -n "."
    fi
done
lose=`expr $total - $win`

# 4) Output result.
echo
echo "Win/Lose/Total: $win/$lose/$total"

exit 0

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界