4人のスタンドオフ
説明
どういうわけか、4方向のスタンドオフに陥りました。装填された銃が手にあり、手some弾がベルトに引っかかっています。
目的は、スタンドオフの終わりに最も健康になることです。せいぜい1人の人がプラスの健康状態にあるとき、スタンドオフは終了します。
各プレイヤーは5
体力を持ち、体力が/を下回ると死亡します0
。プレイヤーが死亡するターンは、そのプレイヤーがダメージを受けることができる最後のターンです。
スタンドオフの最後にライブプレイヤーがいる場合、そのプレイヤーが勝ちます。そうでない場合、負のヘルスが最も少ないプレイヤーが勝ちます。
行動
撃つ:誰かを撃つ。
2
生きている敵を撃った場合のダメージ0
死んだ敵を撃った場合のダメージhealth_at_start_of_turn+2
自分を撃った場合のダメージ。(これにより、MOSTの-2
健康状態が維持されることに注意してください。)- 自分が撃った同じターンに敵が1人撃った場合、-4の体力でスタンドオフを終了します(自殺したターンに他のプレイヤーからダメージを受けます)。
- 次のターンのあなたの行動は無視されます(そしてそうであると仮定されます
Nothing
)。
ダッジ:ダッジシングル相手のショットを試してみてください。
準備:手g弾を外し、投げる準備をします。
- あなたはそれをスローするために3ターンしか持っていません、あなたが爆破される前に(
6
あなた自身への3
ダメージ、すべての生きている敵へのダメージ) - 投げられていない手ren弾で死ぬことは、手turns弾を3ターン投げないことと同じです。
- あなたはそれをスローするために3ターンしか持っていません、あなたが爆破される前に(
投げる:誰かに手g弾を投げつけて、最高のものを願ってください。
8
生きている場合、ターゲットはダメージを受けます3
生きている場合、他のすべての人(自分を含む)がダメージを受ける
何もない:ターンの間、じっと立って、全員が死ぬのを見てください。
入力
プログラムには次の情報が渡されます。
- 各プレイヤーの健康
スタンドオフの開始以降にそのプレーヤーが行ったアクションのリストは、プレーヤーごとに渡される情報の形式です。
[Health],[Action 1],[Action 2],[Action 3],...
アクションは、出力セクションで指定された形式で提供されます。
スペースで区切られた単一の引数として渡された4つの文字列を受け取ります。これらの文字列の順序は次のとおりです。
[Player Info] [Opponent 1 Info] [Opponent 2 Info] [Opponent 3 Info]
文字列は2番目の引数として渡されます。最初の引数には、成立するスタンドオフを一意に識別する整数が含まれます。同じプレーヤーのセット間のスタンドオフは、同時でないことが保証されています。ただし、複数のスタンドオフが同時に発生します。
例えば:
$./Player.bash 5 "3,S2,N 5,P,N 3,S0,N -2,S3,N"
現在、プレーヤーと2番目の対戦相手のヘルスは3、1番目の対戦相手のヘルスは5、3番目の対戦相手のヘルスは-2で死んでいます。
最初のターン:
- プレイヤー1が敵2を撃った
- 敵1が手ren弾を用意した
- 敵2ショットプレーヤー
- 敵3が自分を撃った
2番目のターン:
- すべてのプレイヤーは何もしませんでした。(プレイヤーと敵2は、前のターンで撃ったので何もできません。敵3は死んでいます。彼は
Nothing
残りのスタンドオフを行います。)
スタンドオフの開始時の2番目の引数は次のとおり5 5 5 5
です。
出力
コマンドは、以下のリスト形式で出力する必要があります。無効な出力は「Nothing」として解釈されます。ターゲットを必要とするコマンドの後には整数(0-3
、0
プレーヤーを表し、1-3
敵1〜3 を表す)が続く必要があります。
S[target]
:[ターゲット]を撃ちます。D[target]
:[ターゲット]をかわそうとします。P
:手ren弾を準備します。T[target]
:[ターゲット]に手ren弾を投げます。N
: 何もしない。
ターゲットを必要とするが、ターゲット間0
ではなくターゲットに供給されるコマンド、3
またはターゲットに完全に供給されないコマンドは、ターゲット0
(プレイヤー)と見なされます。
得点
各スタンドオフの終わりに、プレイヤーは次の式で計算されたスコアを受け取ります。
35 + health at end of standoff
プレイヤーが負の体力でスタンドオフを終了した場合、35以下のスコアを受け取ります。次のポイントもボーナスとして報われます:
- ほとんどの健康:+4ポイント
- 2番目に健康:+2ポイント
- 3番目に健康:+1ポイント。
同点の場合、より低いボーナスが付与されます(2人が最も健康な状態で同点の場合、両方に+2が付与されます。
最終スコアは、すべての個々のスコアの平均を計算して決定されます。
ルール/詳細
- ターン内のイベントの順序は次のとおりです。
- すべてのプレイヤーがアクションを実行します。
- 体力が0以下のプレイヤーは死亡します。
- 爆発する必要のある投げられていない手rena弾は爆発します(これは彼らが死んだ順番なので、死んだばかりのプレイヤーはまだ傷ついています)。
- エントリー間のコラボレーションはありません。
- 4人のプレーヤーの各セットの間で3つのスタンドオフが発生します。(プレーヤーの順序は、スタンドオフごとに異なる場合があります)。
- ディスク容量のメモリを過剰に消費するエントリは失格となります。
- エントリ以外のファイルを読んだり変更したりすると、エントリは失格となります。
50th
ターンの終わりにスタンドオフがまだ終わっていない場合、酔っぱらいで運転されるトラックは、ターン後にすべての生きているプレイヤーの上を走り50th
ます。- このトラックは、すべてのライブプレイヤーに20のダメージを与えます。
- スタンドオフはすぐに起こります。プログラムは1秒後に切断されます。
- あなたのプログラムは、あなたが死んだ後でも毎ターン呼ばれます。
- ディレクトリのファイルのみを読み書きできます(エントリの名前がJohnDoeの場合、players / JohnDoe /ディレクトリにファイルを保存できます)。ただし、これはスクリプトの実行中は現在のディレクトリではありません。
- スタンドオフはArch Linuxを実行しているマシンで行われます(リリース2014.08.01)。
投稿に以下を含めてください:
- ボットの名前
- ボットを実行するシェルコマンド(例
java Doe.java
)入力は、単一の引数(java Doe.java 5 "-2,S0 -2,S1 -2,S2 5,N"
)としてコマンドラインを介して渡されます。 - ボットのコード
- ボットのコンパイル方法(該当する場合)
- 言語(および該当する場合はバージョン、特にpythonの場合)
*コントローラーは6時間がかかりすぎています。
スコアボード
Observer 43.280570409982
MuhammadAli 43.134861217214
Osama 43.031983702572
LateBoomer 42.560275019099
SimpleShooter 42.412885154062
LessSimpleShooter 42.3772
Neo 42.3738
Scared 42.3678
Richochet 42.3263
Equivocator 42.2833
TwentyFourthsAndAHalfCentury 42.2640
Darwin 42.1584
HanSolo 42.1025
Coward 42.0458
ManipulativeBastard 41.8948
Sadist 41.7232
Aggressor 41.7058
CourageTheDog 41.5629
Grenadier 40.9889
Bomberman 40.8840
Spock 40.8713
Sniper 40.6346
DONTNUKEMEBRO 39.8151
PriorityTargets 39.6126
Hippolyta 39.2480
EmoCowboy 39.2069
Zaenille 39.1971
AntiGrenadier 39.1919
PoliticallyCorrectGunman 39.1689
InputAnalyzer 39.1517
Rule0Bot 39.1000
BiasedOne 39.0664
Pacifist 39.0481
StraightShooter 39.0292
Ninja 38.7801
MAD 38.2543
Monkey 37.7089
Label1Goto1 36.2131
Generated: 2014/08/22 03:56:13.470264860 UTC
ログ:GitHubで