キーパはボールをキャッチする能力を持つ唯一のプレイヤである.
プレイモードが`play_on'の時,キーパとボールが自陣ペナルティエリア
内にあり,ボールがキャッチャブルエリア内にあれば,キーパは任意の方向に
あるボールをキャッチできる.
キーパが の方向へキャッチを行なった場合,
方向に長
さcatchable_area_l,幅catchable_area_wの矩形の領
域(図 4.4参照)がキャッチャブルエリアとなる.
ボールがその領域内に入っていれば,catch_probabilityの確率で
キャッチされる.
catchコマンドに関するパラメータについては,表 4.4を
参照.
catchコマンドが失敗した場合,catch_ban_cycleサイクル経過す るまでは次のcatchコマンドを実行できない. この間に実行されたcatchコマンドは,何の効果も起こさない. キーパがボールキャッチに成功した場合,プレイモードは まず`goalie_catch_ball_[l|r]'へと変更され,次に同じサイクル内 で`free_kick_[l|r]'へと変更される. キーパがボールをキャッチすると,moveコマンドによってボール を持ったままペナルティエリア内を移動できるようになる. ただし,move後にボールをペナルティキックエリアの外に出してしまうと, `catch_fault_[l|r]'が取られ,相手チームへフリーキックが与えられる. ボールをキックするまでに使用可能なmoveコマンドの回数は, goalie_max_moves回である. それ以上moveコマンドを実行しようとしても何の効果も得られず, サーバから(error too_many_moves)という応答が得られる. 短いキックを行なって再びボールをキャッチし,移動を繰り返すといったプレ イは非紳士的なプレイとみなされることに注意.