2014/Practice/夏合宿/案内

Java Challenge

ルール

このゲームは6人のプレーヤーで行う。人数が足りない場合はランダムプレーヤーで補う。

12×12マスの盤面上に72個のサイコロが置いてある。初期状態では上を向いている面の目は均等で、それぞれ12個ずつである。

プレーヤーは1ターンにつき1つのサイコロを上下左右に隣接するマスのどこかに転がして移動させる。

この時、サイコロは90度回転し、別の面が上になる。例えば左に移動させると右の面の目が上になる。

プレーヤーが動かせるサイコロはプレーヤーの番号(1〜6)が上の面の目と一致するものだけである。

ターンの終了後、盤面のうち1マスが崩落する。そのマスに乗っていたサイコロは消滅する。

崩落の後、サイコロを動かしたプレーヤーの番号と上の面の目が一致するサイコロの数だけそのプレーヤーに得点が入る。

ターンの処理

以下の順で1ターンが処理される。

サイコロを転がす

プレーヤーがサイコロを転がす。このとき以下の転がし方をしてはならない。

  • 上の面の目とプレーヤーの番号が一致しないサイコロを転がす
  • 盤外に転がす
  • 崩落したマスに転がす
  • 他のサイコロがあるマスに転がす

ルールに従わない転がし方をAIが行った場合、ランダムにサイコロが転がされる。

盤面の崩落

盤面のうち1マスが崩落する。あと何ターンで崩落するかの情報が各マスについて与えられる。

得点の加算

サイコロを転がしたプレーヤーの得点が加算される。

得点

順位は6セットの合計スコアで決められる。

1セットの得点は1位32点、2位16点、3位8点、4位4点、5位2点、6位1点である。

各セットの順位は全てのマスが崩落した段階での各プレーヤーの得点によって決められる。

同得点のプレーヤーがいた場合、同じ順位となる。例えば全員が同得点の場合、そのセットの得点として全員に32点が与えられる。

AIの作り方

eclipseの場合

Build Path -> Add External Archivesでjarファイルを追加。

Playerインターフェースを継承したクラスを作る。

実行オプションに「-player (クラスのパス)」をつけて実行。(Run->Run Configurations->Arguments)

コマンドラインの場合

Playerインターフェースを継承したクラスを作る。

javac -classpath javachallenge2014.jar SamplePlayer.java

java -jar javachallenge2014.jar -player SamplePlayer

オプション

-delay TIME

各ターンを表示する時間(ミリ秒)。デフォルトでは1000。最小値は10。

-game SET

試合のセット数の指定。デフォルトでは6。

-player プレーヤー1 プレーヤー2 ...

AIの指定。1つ以上6つ以下まで。

予選

各チームが6試合行うように全13試合を行い、合計点の上位6チームが決勝に進出する。

結果

Lyoz11711611412877121673
tokoharu901361201526990657
>>>>>vvvvv8410010410213684610
Colorful Jumbo Chicken6012279725467454
@konjo_p1012951498529344
nuip807736563854341
kyutOU4042193710594337
JAG795151302758296
assy445548307136284
whiteye(s)334474621226251
ITF502232269618244
snuke776212362135243
Operasan504532103342212

決勝

Lyoz152
tokoharu86
>>>>>vvvvv42
nuip40
@konjo_p36
Colorful Jumbo Chicken22

添付ファイル: fileJavaChallenge2014_v2.zip 681件 [詳細] fileJavaChallenge2014.zip 385件 [詳細]

Last-modified: 2014-09-13 (土) 19:19:44 (1132d)