U-16プログラミングコンテスト京都大会

U-16プログラミングコンテスト(以降、U-16プロコン) とは、16歳以下の高校生、中学生、小学生を対象としたプログラミングコンテストです。
京都大会ではCHaser (チェイサー) という対戦型プラットフォーム上で、1対1のプログラム同士の対決を行う「競技部門」を実施します。

U-16プログラミングコンテスト[競技部門]

参加者が作成したプログラム同士を碁盤目上のフィールドで戦わせる1対1の対戦型プラットフォーム「CHaser」を使用します。

CHaserでは、競技サーバへ2つのクライアントプログラムがそれぞれネットワークで接続し、サーバプログラムとクライアントプログラムの間で通信を行って対戦します。 先に接続するクライアントをCoolと呼び(以後C)、先攻となります。後から接続するクライアントをHotと呼び(以後H)、後攻となります。 対戦マップには、CとHの他に、アイテム、ブロックがあります。各クライアントは、サーバから自分の周囲情報を取得し、 次の行動をクライアントプログラムの制御によって決定し、サーバに送信します。サーバは各クライアントから受信した行動命令を実行します。

命令には、以下の4つがあります。

(1) walk:上下左右どれかに1マス動く
(2) look:自分の前後左右1方向を9マス分何があるか情報を取得する
(3) search:自分の前後左右1方向を縦に9マス分何があるか情報を取得する
(4) put:自分の上下左右隣にブロックを置く

勝敗は、(1)相手の上にブロックを置く、(2)ハート型のアイテムを拾った数、(3)相手の周囲4方向をブロックで囲む、などで決まります。

他地域でのU-16プログラミングコンテスト(NPO法人ITジュニア育成交流協会)

競技規則

  1. U-16旭川プログラミングコンテスト実行委員会ルールブックを基本とする
  2. 京都大会としてのルール
    1. 1試合(マッチ)における対戦数・・・同じマップを用いてCool側・Hot側を入れ替えて1マッチにつき2回対戦(2ゲーム)を行う。
    2. マッチにおける勝者の決定
      ・1マッチにおける勝利数の多い方(2勝したもの)を勝ちとする。
      ・1試合(マッチ)において引き分けであった場合、2ゲームあわせた総獲得アイテム数の多い方を勝ちとする。
    3. 総獲得アイテム数の算定(減点する条件)
      ・対戦相手から自分の上に置かれる、対戦相手に上下左右4方向をブロックで囲われる→「PUT負け」の場合=その対戦(ゲーム)の獲得アイテム数を0とする。
      ・自分がブロックのマスに移動する、自分が自身の上下左右4方向をブロックで囲う、自分が通信エラーで競技中断させる→「自滅」の場合=1試合(マッチ)の総獲得アイテム数より、残りターン数と同数をマイナスする(減点)
  3. トーナメント
    1. 1回戦の対戦は大会当日に出場者のクジで決定する
    2. 準決勝→3位決定戦→決勝 の順で試合を行う
  4. マップタイプ
    1. 1回戦は事前提示したマップによる対戦(ターン数120)
      2回戦から決勝までは、大会本番時に提示(ターン数はいずれも120とする)
  5. クライアントプログラムの持ち込み 事前に提出したプログラムのみ使用できます。1つ以上の複数のプログラムを提出することできる。
  6. コンピュータ持ち込み 第1回大会は、持ち込みは禁止とします。大会運営側が用意した端末で実行します。

これまでの大会