SSIL(Soccer Simulation Internet league)で使われているスクリプトについてメモする予定


SSILとほぼ同じものと思われるRC2004で使われたスクリプトについて

Files

bin/cointoss
bin/robocup2flash
bin/scheduler
bin/svtool
calcpointshtml.awk得点情報の集計とhtml化
continuegroup中断されたグループの再起動
htmlize.awk試合情報をHTMLテーブル化
killmatch試合中断,結果は破棄
printgroupグループのスケジュール計算と出力
publish試合結果をFLASH,HTML化する(publish.awk, publishhtml)
publish.awkチーム名と得点情報の抽出
publishhtmlhtml化
rcg2flashログのFLASH化
remove_dup.awkuniqみたいなことをしてる
resetgrouprungroupで出来た結果等を消す
run.config設定(だけどデータディレクトリの作成もしている。)
rungame試合の実行(内部で./run.config,./saveincomplete,./publishを実行)
rungroupグループの実行(./run.config,./rungame,./bin/scheduler,./bin/cointos)
saveincompleteincomplete.rc[gl]を適当な名前にmvする
scheduler.cpp試合のスケジューリングを行う
start.templateチーム起動スクリプト
stopgrouprungroupを中断(ただし実行中の試合は続行)
teams*チームのHOMEディレクトリのリスト
teams
teams.1
teams.2
teams.3
teams.4

使い方

スクリプトを見る限り、こんな感じだと思われる。

  1. teams.??? にグループのTEAMDIRをリストする
  2. run.config にグループの設定
  3. rungroup実行
    1. teams.??? は teams にコピーされて利用される(排他処理?)
    2. 終了した対戦は completed, 試合中の対戦は running に
    3. 試合が異常終了したらリーグ中断、stopgroupで stop ファイルが生成されても中断、restartgroupで再開

雑感

ファイルがゴチャゴチャで整理が必要

設定ファイル、スクリプト、スクリプトから呼出されるだけのスクリプトは別々に整理すべき。 同じディレクトリに入れている理由が何かあるのかな?

スクリプトの関数化

幾つかの単純なスクリプトは関数にしたほうが良いと思う。

依存関係

rungroup {
  run.config
  WHILE {
    $SCHEDULER
    $COINTOS
    rungame {
      run.config
      saveincomplete {
        run.config
        $SVTOOL
      }
      $RCSSSERVER
      publish {
        run.config
        publishhtml {
          run.config
          calcpointshtml.awk
          htmlize.awk
        }
        publish.awk
        remove_dup.awk
      }
    }
  }   
}


添付ファイル: filescripts-RC04.tar.gz 359件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-09-05 (月) 14:29:31 (1080d)