タグ付けされた質問 「king-of-the-hill」

キングオブザヒルは、提出物が何らかの形式のゲームで相互作用し、競合するゲームを示します。相互作用なしでプログラムを互いに競い合う競争は、むしろ[コードチャレンジ]を使用するべきです。

1
KoTH:五目並べ(5行連続)
Gomoku or Five in a lineは、黒と白の石を使ったグリッドで2人のプレイヤーがプレイするボードゲームです。石を(横、縦、または対角線)続けて配置できる人がゲームに勝利します。515×1515×1515 \times 15555 ルール このKoTHでは、Swap2ルールを再生します。つまり、ゲームは2つのフェーズで構成されます。最初のフェーズでは、2人のプレーヤーが誰が先に行くか、誰が黒をプレーするかを決定し、その後、プレーヤーから始めて各ラウンドに1つの石を置きます。黒を選んだ人。 初期段階 プレーヤーをA&Bにして、Aがゲームを開くようにします。 Aはボード上に2つの黒と1つの白い石を配置します Bは、次の3つの移動のいずれかを選択できます。 プレーヤーBが黒を再生することを決定:初期フェーズが終了しました プレーヤーBが白い石を置くことに決め、白を再生する:初期フェーズが終了しました プレーヤーBが1つの黒と1つの白の石を再生することを決定:Aが色を選択する ゲームフェーズ 各プレーヤーは、黒をプレイするプレーヤーから始めて、自分の色の石を1つボード上に置きます。これは、プレイする空きスペースがなくなるまで続きます(この場合はタイです)、または1人のプレーヤーがなんとかして石をプレイします行(その場合、そのプレイヤーが勝ちます)。555 行は、水平、垂直、または対角線を意味します。勝利は勝利です。プレーヤーが複数の行を獲得できたかどうかは関係ありません。 KoTHゲームのルール 各プレイヤーは他のプレイヤーと2回対戦します: 最初はだれが最初に行くかはランダムに決定されます 次のゲームでは、最後にプレイしなければならないプレイヤーが最初になります 勝利は2ポイント、同点1、負け0 目標は、できるだけ多くのポイントを獲得することです あなたのボット 可能な限り多くの言語でこの課題にアクセスできるようにするために、入出力はstdin / stdout(行ベース)を介して行われます。ジャッジプログラムは、ボットのstdinに 1行を出力することによってプログラムにプロンプ​​トを表示し、ボットは1行をstdoutに出力します。 EXITメッセージを受信すると、裁判官がプロセスを強制終了する前に、ファイルへの書き込みを完了するための0.5秒が与えられます。 ランダム性 トーナメントを検証可能にするために、裁判官はシードされたランダム化を使用し、ボットも同じ理由でそうする必要があります。ボットには、使用するコマンドライン引数を介してシードが与えられます。次のセクションを参照してください。 議論 ボットは2つのコマンドライン引数を受け取ります。 対戦相手の名前 ランダム性の種 ユーザーの状態 プログラムはゲームごとに常に新しく開始されるため、ファイルを使用して、保持したい情報を保持する必要があります。現在のディレクトリにあるすべてのファイルの読み取り/書き込み、またはサブフォルダーの作成/削除を行うことができます。親ディレクトリ内のファイルへのアクセスは許可されていません! 入出力フォーマット BOARD現在の石のリストを表すであろう、それだけ石が置かれる位置を示し、各エントリの形式であろうと範囲内の整数であろうとのいずれかであろう(黒)または(白い)。((X,Y),COLOR)XY[0,15)[0,15)[0,15)COLOR"B""W" さらにSP、単一のスペース、それぞれがの範囲にある2つの整数のXYタプル(X,Y)を示し、選択肢を示します。[0,15)[0,15)[0,15)| 初期段階では、3種類のメッセージがあります。 Prompt (judge) -> Answer (bot) "A" …

6
N基底の回文である数
負でない整数が指定された場合n >= 0、x_i >= 3完全にn異なるb基数の回文である整数のシーケンスを永久に出力します2 <= b <= x_i-2。 これは基本的にOEIS A126071の逆で、そのシーケンスのどのインデックスが値を持つかを出力しますn。b = x_i-1, x_i, x_i+1これらのベースの結果は常に同じであるため(値は常にパリンドロームであるか、常にそうでないか)、ベースを無視するように変更したため、少し異なります。また、オフセットが異なります。 x_i>= 3それぞれの結果の最初の項nがA037183になるように、数値に制限されています。 出力形式は柔軟ですが、数値は適切な方法で区切る必要があります。 例: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 13 14 22 23 25 29 35 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

7
ヤコビ行列を作成する
未知数のベクトルを取り、いくつかの一般的な微分可能関数を適用します。ヤコビアンは、次いで行列によって与えられるように。 たとえば、と仮定m=3しn=2ます。次に(0ベースのインデックスを使用) のヤコビアンfは この課題の目標は、このヤコビ行列を出力することです。 入力 プログラム/関数は、2つの正の整数mとを入力として受け取る必要nがfありuます。これらはそれぞれとのコンポーネントの数を表します。入力は、任意のソース(stdio、関数パラメーターなど)から取得できます。あなたはこれらが受け取られる順序を指示することができ、これはあなたの答えへのどんな入力でも一貫していなければなりません(あなたの答えで指定してください)。 出力 ヤコビ行列を表すもの。この表現は、ヤコビ行列のすべての要素を明示的に記述する必要がありますが、各項の正確な形式は、何が区別され、何が明確であり、すべてのエントリが論理的な順序で出力される限り、実装で定義されます。マトリックスを表すための受け入れ可能なフォームの例: 外部リストの各エントリがヤコビアンの行に対応し、内部リストの各エントリがヤコビアンの列に対応するリストのリスト。 各行がヤコビアンの行であり、行の各区切り文字で区切られたエントリがヤコビアンの列に対応する文字列またはテキスト出力。 マトリックスのグラフィック/ビジュアル表現。例:MatrixFormコマンドを使用したときにMathematicaによって表示されるもの 他のいくつかの密行列オブジェクト。すべてのエントリは既にメモリに格納されており、クエリできます(つまり、ジェネレータオブジェクトを使用できません)。例としては、Mathematicaが内部的にMatrixオブジェクトをどのように表すかが挙げられます エントリ形式の例: 形式の文字列。d f_i/d u_jここでi、およびjは整数です。例:d f_1/d u_2。dとf_1またx_2はの間のこれらのスペースはオプションであることに注意してください。また、アンダースコアもオプションです。 d f_i(u_1,...,u_n)/d u_jまたはの形式の文字列d f_i(u)/d u_j。つまり、関数コンポーネントの入力パラメーターf_iはオプションであり、明示的に指定するか、コンパクトな形式で残すことができます。 フォーマットされたグラフィック出力。例:式を評価したときにMathematicaが出力するものD[f_1[u_,u_2,...,u_n],u_1] 開始インデックスとその目的uを選択できますf(回答で指定してください)。出力は、必要なシンク(stdio、戻り値、出力パラメーターなど)への出力です。 テストケース 次のテストケースでは、この規則を使用していm,nます。インデックスは0ベースで表示されます。 1,1 [[d f0/d u0]] 2,1 [[d f0/d u0], [d f1/d u0]] 2 2 [[d f0/d u0, d f0/d u1], [d f1/d u0, d …

2
あなたの人生であなたの缶を守りましょう!
キック・ザ・カンで遊ぼう! 現在の勝者はムージーですが、誰かが彼の王冠を取ることができる場合は、そうすることをお勧めします キック缶は子供のゲームです。1人のディフェンダーと複数のアタッカーが関与します。今日、それはもはやそのようなゲームではありません!あなたの仕事は、それを再生するボットを書き、勝利し、丘の王様のスタイルを作ることです! https://en.wikipedia.org/wiki/Kick_the_can このゲームにはいくつかの重要な違いがあります。最初の主な違いは、ゲームがマルチプレイヤー(5v5)であることです。2番目の主な違いは、両方のボットセットが、地雷と爆弾の両方で敵プレイヤーを殺し、排除できることです。ボットは5ブロックを超える距離にある鉱山(距離に関係なく)やプレイヤーを見ることができません! 地図は以下のような迷路です。 この迷路は、最初に深さ優先の再帰的バックトラッキングアルゴリズムを使用して迷路を作成することにより、手続き的に生成されます。次に、表示された穴を配置します(また、迷路をより「不完全」にします。迷路は65x65ブロック幅で、インデックスは0です。したがって、青い旗(缶)は1,1にあり、赤い旗(缶)はブルーチームは2、2、3、3、4、4などでスポーンします。レッドチームは62、62、61、61、60、60などでスポーンします。シアンのブロックは、ブルーチームのボットです。マゼンタのブロックは赤いボットです。ゲームは常に5対5です。チームの各ボットは、コードを使用します(ただし、他のインスタンス変数を格納(またはローカルファイルを作成)して、状態を追跡し、役割を区別します。 ゲームプレイ 地雷は灰色で見えるように配置できます。そして爆弾は最大4ブロックの最大距離を投げることができます。これらは壁を通り最大4ブロックまで移動し、他のプレイヤーはあなたの邪魔をする敵のみを殺します。各ステップの後、40%の確率で脱落します。つまり、1レンジが60%、2レンジが36%、3レンジが21.6%の確率が100%です。これは0から始まり、オレンジ色のボックスを収集することで増やすことができます。これらの弾薬キャッシュのうち4つは便利に中央に配置されることに注意してください。ボットは、2つの赤と2つの青の配列で並んでいます。IE RRRRRBBBBB。旗のガードは許可されていますが、旗の近く(つまり5ブロック未満)になると速度が低下し、移動のみが許可されることに注意してください。3ターンごと。アリーナは、ターンごとにランダムなスターターを選びます。私。 目的 5つのボット(それぞれが同じクラスファイル)をプログラムして、迷路をうまくナビゲートし、誤って自分の缶を倒したり、地雷を踏んだりしないように注意しながら、反対の缶に触れます。 プログラミング アリーナとボットのエントリは現在Javaですが、他の言語用のstdin / outラッパーが存在します。 アリーナコードは利用可能になりますが、関連する詳細はこちらです。 ボットクラス public class YourUniqueBotName extends Bot{ public YourUniqueBotName(int x , int y, int team){ super(x,y,team); //optional code } public Move move(){//todo implement this method //it should output a Move(); //A move has two …

3
ユーカーボット(カードゲーム)
この課題のアイデアは単純です。カードゲームユーカーをプレイするボットを作成します。 それらをまだ知らない皆さんのために、私はここでユーカーにこの挑戦に関係するルールを書き留めました。 私はpythonまたは類似のものを使用することをお勧めしますが、唯一の実際の制限は、コントローラーコードと互換性がある必要があることです。 入力: ユーカーボットは、ゲームまたはラウンドの現在のフェーズに応じて、さまざまな種類の入力を取得します。一般的に言えば、最初の行にゲームフェーズが表示され、その後にコンマとチームのポイント数が続き、その後に関連するデータが次の行に表示されます。 年代順に、ボットは次の順序で入力を受け取ります。 Ordering Trump: js,ah,qc,ts,jc // the cards in your hand 2 // number of points your team has 0 // number of tricks your team has taken ordering // the phase of the game th // the turned up card p,p // each previous player’s …

8
壁の王
通知 この課題は終了しました。再審査は行われませんが、回答を投稿し、コントロールプログラムを使用して他のプログラムとテストしてみてください。 この課題の目的は、25x25のグリッドに戦略的に壁を描いて対戦相手をブロックすることで、AIが別のAIとの戦いに勝つようにすることです。 入力 ;コマンドライン引数として区切られ、末尾が25の行。これには以下が含まれます: 空のスペース . 壁 # プレイヤー1と2(対戦相手は常に2) 例 ###############..........;..............#..........;..............#..........;..............#..........;..............#..........;...........1###..........;.........................;.........................;.........................;.........................;.........................;.........................;.........................;.........................;.........................;.........................;.........................;.........................;.........................;...................###...;...................#.##..;2..................#..#..;#..................##.#..;#...................#.###;....................#####; 次のマップを表します: ###############.......... ..............#.......... ..............#.......... ..............#.......... ..............#.......... ...........1###.......... ......................... ......................... ......................... ......................... ......................... ......................... ......................... ......................... ......................... ......................... ......................... ......................... ......................... ...................###... ...................#.##.. 2..................#..#.. #..................##.#.. #...................#.### ....................##### 出力 AIが向けたい方向を表す文字で始まる、コンソールに書き込まれる文字列。これは大文字と小文字が区別されます。 北 N 東 E 南 S 西 W あきらめる(その他すべて) 例 …

5
空腹ブロブKoTH
コンテスト終了!ブロブのコメントを読んでスコアを表示します。 このKoTHは、プライマーのナチュラルセレクションシミュレーションに大まかに影響を受けています。ボットはblobです。生き残るためには、移動に使用されるエネルギーを取り戻すためにペレットを食べる必要があります。追加のエネルギーにより、ブロブは2つに分割できます。 エネルギーと運動 ブロブは100エネルギーで各ラウンドから始まり、収集できるエネルギー量に制限はありません。各ラウンドは交互に実行され、各ブロブには、任意のターンで北、東、南、または西に移動するか、静止するオプションがあります。移動は1エネルギーを使用し、静止は0.25エネルギーを使用します。マップの辺の長さはceil(0.25 * blobCount) * 2 - 1単位、最小9単位。すべてのブロブはマップの端から始まり、各コーナーに1つ配置され、後続のすべてのブロブは他のブロブから2ユニット離れて配置されます。30ターンごとに、ペレットの波がマップの周りのランダムなスポットに配置されます。エッジから少なくとも1ユニット離れています。ペレットの波が現れるたびに、次の波のペレットの量(最初はブロブの数の2倍またはマップの幅のいずれか大きい方)が1ずつ減少し、ブロブの数は時間とともに減少します。各ペレットは5〜15のエネルギーを回復します。ブロブのエネルギーが0以下の場合、ブロブは消滅します。 食べる 2つ以上のブロブが同じ場所を占有しようとすると、エネルギーが最も多いブロブが他のブロブを食べ、エネルギーを受け取ります。両方のエネルギーが等しい場合、両方とも消えます。 検出と情報 ブロブは、4ユニット以内の距離にあるペレットや他のブロブを見ることができます。それらの関数が呼び出されると、ブロブには以下が提供されます: マップの横の長さ 地図上のブロブの位置 検索範囲内のすべてのペレットの位置とその値 検索範囲内のすべてのblobの位置、およびそれらのエネルギーとUID 関数が実行されているblobのエネルギー、UID、および場所 blobに固有のストレージオブジェクト スプリットを通じてblobに関連するすべてのblobによって共有されるストレージオブジェクト 分割 ブロブに50を超えるエネルギーがある場合、分割を選択できます。分割には50のエネルギーがかかり、残りのエネルギーは2つの塊の間で均等に分割されます。すべてのblobは、元のコピーまたは分割されたコピーであり、すべてのコピーは元のトレースに戻ります。これらはすべて「親戚」です。すべての親戚には1つの共有ストレージオブジェクトがあります。親戚は依然としてお互いを食べたり、分裂したり、自分のストレージオブジェクトを使用したり、他の人に影響を与えずにエネルギーを収集したりできます。 エネルギー移動 2つの塊が隣接している場合(移動後)、ボットの1つが他のボットにエネルギーを転送できます。これは戻すことにより行われSendNorth(amt)、SendEast(amt)、SendSouth(amt)、またはSendWest(amt)でamtある量を表す数値が送信しました。これは、すべてのエネルギーを含む、送信者が余裕のある任意の金額にすることができます。エネルギーを受け取っているブロブは、エネルギーが転送されているときに移動しないように、共有ストレージを介して静止するように指示することをお勧めします(ただし、この場合、エネルギーは送信者の合計から差し引かれません)。 関数、ストレージ、およびUID より複雑な学習動作を可能にするために、すべてのblobには整数のUID(Unique Identifer)が与えられます。これらのUIDは各マップにランダムに生成され、個々のターゲットに基づく戦略を防ぎます。blobの関数が呼び出されると、4つの引数が渡されます。 整数としてのマップの辺の長さ 二つの配列を持つオブジェクト:pelletsおよびblobs。どちらの配列にもオブジェクトが含まれており、どちらにもposとしてフォーマットされたペレットまたはブロブの位置を含むプロパティがあり[x,y]ます。ペレットにはenergyプロパティがあり、ブロブにはuidプロパティとプロパティがありenergyます ブロブのさまざまなプロパティを含むオブジェクトは、それに渡される:energy、uid、およびpos。posアレイは次のようにフォーマットされています[x,y] blobの2つのストレージオブジェクトを含むオブジェクト。selfプロパティは、しかし、BLOBが(渡されたオブジェクトのプロパティを操作することによって)適合を見て変更することができる個々のストレージオブジェクトを含み、communal任意の相対によって改変することができるプロパティ。 Blobはすぐには移動されず、前後のターンが有利になるのを防ぎます。すべての動きはグループで処理されます(すべての衝突/食事、次にすべてのペレット、次に分割など)。ブロブがペレットまたは小さなブロブに着地し、そのプロセスで最後のエネルギーを使用しても、ブロブは引き続きペレット/総エネルギーが0を超えるかどうかに関係なく、エネルギー。 相対BLOBがお互いを認識するためには、各BLOBがそのUIDを配列に記録するため、または他のシステムを介して共有ストレージを使用する必要があります。 戻り値 移動または分割するには、関数の戻り値を使用します。まず、座標の観点からの基本的な方向の意味: 北= -Y 東= + X 南= + Y 西= -X 注[0,0]ある左上隅あなたがダウンして行くように、とYが増加。関数の戻り値は次の規則に従う必要があります。 何もしない:何も返さない、0、null、未定義、false、またはfalseに等しいその他の値 移動するには:「北」、「東」、「南」、または「西」(戻り値として使用することもできます)と同じである北、東、南、または西の4つのグローバル変数のいずれかを返します。 分割するには:グローバル変数SplitNorth、SplitEast、SplitSouth、またはSplitWestを返します。方向は、新しいBLOBを配置する場所を示します。 …

4
洞窟レンジャー-闇の探検
あなたの地質学者の友人は、オフィスのドアが飛び交うとき、ほとんど興奮して目を覚まし、発見した場所に彼と一緒に来るように頼みました。途中、彼は文字通り金を打ったと思っていると説明しています。唯一の問題は、屋根が非常に不安定な洞窟の地下深くに埋まっていることです。洞窟探検をするのは危険すぎるので、洞窟探検ロボットの1つをプログラムして、引き上げる前にできるだけ多くの金を集めるように求めています。彼はまた、洞窟を調査し、ロボットに害を及ぼす可能性のあるいくつかの野生生物を発見したこと、そしてまだ使用できるかもしれないいくつかの機器をそこに落としたことにも言及しました。各ロボットには2本のアームとさまざまなセンサーが装備されています。あなたが現場に到着すると、彼はより多くのコーダーを採用するつもりであると彼に話します、 さて、肝心なところまで。センサーは情報をASCII文字としてプログラムに渡します。以下は、各キャラクターの意味と、ボットが洞窟で遭遇する可能性のあるすべての説明のリストです。 Code Name/Description Y Your bot You do things @ Other bots They do other things - Ground This doesn't do things C Centipede These will bite you and leave a poison effect The bite will cost 1 health The poison effect will last for 3 turns, costing 2 …

8
円で距離を保つ
これは、この課題とそれを改善するGeobits / CarpetPythonのアイデアに基づいています。 距離を置く! この課題では、2つの数値間の距離はループで測定されるため、たとえば、0と999の間の距離は1です。これにより、常に最小または最大の数値を選択するような戦略がほぼ毎回勝つことを防ぐ必要があります。他の唯一の変更は、選択できる最小数が1ではなく0になったことです。 ここで要約します。 3つの引数を取る関数をJava、Python、またはRubyで記述します。 これまでに行われたラウンドの数 プレーヤーの数 スペースで区切られた文字列の配列として、前のラウンドで選択された数 0から999までの整数を返す必要があります 各ラウンドのプログラムのスコアは、他の各プログラムが選択した数値への距離の平方根の合計です 100ラウンド後に最高スコアを獲得したプログラムが勝利します。 1人につき1つの回答 制御プログラムはここにあります: https://github.com/KSFTmh/src/ リーダーボード TheBestOneによるNumberOneが勝利しています。 NumberOne-9700 NumberOnePlusFourNineNine-9623 AncientHistorian-9425 FindCampers-9259 WowThisGameIsSoDeep-9069 サンプラー-9014 SabotageCampers-8545 どうやら、私のキャンピングカーサボタージュ... er(?)はあまりうまく機能しません。 以下が完全な結果です:https : //github.com/KSFTmh/src/blob/master/results-3 これは、重複しないように十分に異なると思います。 ちなみに、Stack Exchangeについて質問するのは今回が初めてなので、何か問題があった場合はお知らせください。

3
Partially-Observable Connect-4
ゲーム Connect-4の(ほぼ)標準的なゲームをプレイします。残念ながら、それは通信ゲームであり、誰かが下から順に2行ごとに黒いテープを貼ったため、これらの行内での対戦相手の動きを見ることができません。 すでに満杯の列内での移動は、あなたのターンを通過したものとしてカウントされ、ゲームが6 * 7ターンよりも長く続く場合、それはドローとして裁定されます。 チャレンジ仕様 プログラムはPython 3関数として実装する必要があります。最初の引数はボードの「ビュー」であり、既知のボードの状態を下から上への2D行リストとして表します。1最初のプレーヤー2による移動、2番目のプレーヤーによる移動0、空の位置または非表示です。対戦相手に移動します。 2番目の引数は、からインデックスが付けられたターン番号0であり、そのパリティにより、どのプレイヤーかがわかります。 最後の引数は任意の状態であり、None各ゲームの開始時に初期化され、ターン間で状態を保持するために使用できます。 再生したいカラムインデックスの2タプルを返す必要があり、新しい状態は次のターンで返されます。 得点 勝利は+1、引き分けは0、損失はとしてカウントされ-1ます。あなたの目標は、ラウンドロビントーナメントで最高の平均スコアを達成することです。私は明確な勝者を特定するために必要なだけの試合を実行しようとします。 ルール 競合他社は一度に最大1つの競合するボットを持つ必要がありますが、改善を加えた場合はエントリを更新しても問題ありません。ボットを1ターンあたりの思考時間を最大1秒に制限してみてください。 テスト中 以下は、コントローラーのソースコードと、参照用のいくつかの競合しないボットの例です。 import itertools import random def get_strides(board, i, j): yield ((i, k) for k in range(j + 1, 7)) yield ((i, k) for k in range(j - 1, -1, -1)) yield ((k, j) for …

6
底のダンジョン
–危機と殉教 (字幕がかっこいいのでそれが字幕です) Python でのこの挑戦的な挑戦(うん、あなたはJavaで送信しないかもしれないと知る必要はありません)では、ダンジョンへようこそと非常によく似たゲームをプレイするボットを作成する必要があります ゲームのルール (これは元のゲームではないことに注意してください) デッキ、アイテムセット、そしていくつかのポイントカードとデスカードがあります。基本HPは3です。このデッキ1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 7, 9は、強みを示すために番号が付けられた13枚のモンスターカードで構成されています。 アイテムリスト 悪魔の契約:デーモン(強度7のモンスター)とその下のモンスターをダンジョンパイルで倒します。-(デーモンがダンジョンの最後だった場合、デーモンを倒すだけです) 体力ポーション:0 HPに落ちたら、モンスターを倒して3 HPに戻る。 聖杯:偶数の強さのモンスターを倒す(ゲームでは、これらはアンデッドです)。悪魔の協定が使用された後に偶数番号のモンスターが発生した場合、それが最初に動作し、このモンスターの後に余分な協定のキルは得られません。 ヴォーパルダガー:ダンジョンに入る前にモンスターを1つ選択してください。このタイプのモンスターは打ち負かされます。悪魔の契約が使用された後に対象のモンスターが発生した場合、それが最初に機能し、このモンスターの後に追加の契約キルを得ることができません。 シールド:スペルを上げる前に、合計HPに3を追加します。これはヘルスポーションの使用には影響しません。ヘルスポーションは常にヘルスを3に戻します。 装甲:スペルする前に、合計HPに5を追加します。これはヘルスポーションの使用には影響しません。ヘルスポーションは常にヘルスを3に戻します。 ポイントカードは、誰がダンジョンで成功したかを追跡するために使用されます。デスカードは、ダンジョンで失敗した人を追跡します。 描画フェーズ 引き分け段階が始まる前に、すべてのモンスターカードがデッキに戻され、両方のプレイヤーが3 HPに回復し、廃棄されたすべてのアイテムがそれぞれ1つになるように回復されます。 最初のプレイヤーはデッキからカードを引くかどうかを決定し、他のプレイヤーからそれを隠します。もしそうなら、彼らはそれをダンジョンパイルの上に置くか、自分の選んだアイテムと一緒に捨てるかを選ばなければなりません。捨てられたアイテムとカードは、次のラウンドまでどちらのプレイヤーも利用できません。 プレーヤー1が自分の番になった後、プレーヤー2も同じようにします。プレイヤーは、誰かがドローしないことを決定するか、プレイヤーが最後のカードをデッキから取り出すまで、ドローするかどうか、およびドローしたカードをどうするかを交互に決定します。プレイヤーがドローしないことを決定した場合、または最後のカードをドローした場合、ドローフェーズは終了し、他のプレイヤーはダンジョンに入り、洞窟探検を開始する必要があります。 Spelunkingフェーズ ヴォーパルダガーが捨てられていない場合、スペルを打ったプレイヤーは、どのカードに適用するかを決定する必要があります。このフェーズの残りの部分について、積極的な決定はありません。 最初のプレイヤーが一番上のカードを取ります。つまり、ダンジョンに配置された最後のカードで、その強さの数値が表示されます。悪魔の契約が前のターンからアクティブである場合、引かれたカードは捨てられます。それ以外の場合、プレイヤーのアイテムは「悪魔の契約」、「聖杯」、「ヴォーパルダガー」の順にチェックされます。引き出されたカードを倒すことができる最初の捨てられていないアイテムが使用され、カードは捨てられます。悪魔の契約が使用されている場合は、次のカードで有効になります。使用済みのアイテムは廃棄されません。 該当するアイテムがない場合、カードの強さはプレイヤーのヘルスから差し引かれます。体力がポジティブでなくなった場合、3 HPに回復し、可能な場合はポーションが破棄されます。そうでない場合、ダンジョンクロールは終了し、デスカードを取得します。 プレイヤーが敗北せず、ダンジョンにカードが残っている間、このトップのカードを引くプロセスが繰り返されます。ダンジョン内のすべてのカードを無事に倒すと、ダンジョンクロールは終了し、洞窟探検家はポイントカードを集めます。 完全なゲームの説明 ゲームは一連のラウンドで構成されており、それぞれが描画フェーズとそれからスペルフェーズを持っています。各ラウンドの終わりに、1人のプレイヤーがデスカードまたはポイントカードのいずれかを収集します。プレイヤーがいずれかのタイプの5を蓄積すると、ゲームは終了します。彼らが5枚のデスカードを持っている場合、彼らはゲームに負けます。彼らが5枚のポイントカードを持っている場合、彼らは勝ちます。いずれにしても、他のプレイヤーは反対の結果を受け取ります。どちらのプレイヤーも1つのタイプのカードを5枚持っていない場合、プレイは次のラウンドに進み、前のラウンドで2番目に進んだプレイヤーが最初に進み、その逆も同様です。 コス詳細 各ボットは、上記のルールに従って、他のすべてのボットに対して400ゲームをプレイします。プレイヤー1であるボット(つまり、最初のラウンドで最初に実行されるボット)が各ゲームを交互に切り替え、すべての状態がゲーム間でリセットされます。 再びアイテムは次のとおりです。 悪魔の契約:デーモン(強度7のモンスター)とその下のモンスターをダンジョンパイルで倒します。-(デーモンがダンジョンの最後だった場合、デーモンを倒すだけです) 体力ポーション:0 HPに落ちたら、モンスターを倒して3 HPに戻る。 聖杯:偶数の強さのモンスターを倒す(ゲームでは、これらはアンデッドです)。悪魔の協定が使用された後に偶数番号のモンスターが発生した場合、それが最初に動作し、このモンスターの後に余分な協定のキルは得られません。 …

16
平らな地球を旅する
平地の世界の座標は、緯度(x)と経度(y)で構成されます。これらは0〜9999の範囲の整数です。ガウス整数によく似ていますが、常に次の表記法を使用して記述されています。 411S 370E すなわちであり、SまたはN緯度に付加し、EまたはW2つのコンポーネント間の空間(S)と、経度に付加します。 ゴール 空白で区切られた2つの座標を読み取り、それらの合計を出力するプログラム(関数ではない)を記述します。最初の座標は開始点、2番目の座標は変位、出力は結果の位置です。 入出力 この課題は部分的にフォーマットに関するものであるため、入力形式と出力形式を明確に定義するようにします。 推奨される入力形式では、座標コンポーネント間に1つのスペースがあり、先行ゼロはなく、2つの座標間に改行文字があります。プログラムは、優先フォーマットを読み取ることができる必要があります。 出力には、任意の量の空白と先行ゼロを含めることができます。推奨される入力形式と異なる場合、プログラムはこの形式も読み取ることができる必要があります。 明確にするために、入力には追加の書式設定文字を含めることはできません(含めません)。必要なスペースと改行だけ。 得点 これは新しい勝利条件の実験です。数週間以内に回答を受け入れて、勝者を選びます。その後、より適切な回答が出た場合は、回答を変更します。 プログラムのスコアはそのバイト数です。優勝したプログラムは、400バイトより短く、バイト数が最も少ないプログラムですが、最も冗長なプログラミング言語で書かれています。勝者を決定するには: バイト数が400以上のプログラムを削除します(参加できますが、勝つことはできません)。 各プログラミング言語の最短プログラムのみを検討する 最長のプログラムの勝利 ポリグロットは、有効なすべての言語のプログラムと競合します(たとえば、プログラムが両方bashで有効である場合、sh両方の言語のプログラムと競合します)。 テストケース テストケースでは、最初の2行が入力で、3行目が出力です。 0S 0E 0S 0W 0N 0E (ゼロの方向は、入力と出力の両方で重要ではありません) 0S 9999E 9999N 9999W 9999N 0E (最大値) 42S 314W 42N 2718W 0N 3032W (ゼロの方向は出力では関係ありません) 5555N 8888W 7777S 0E 2222S 8888W (負の値はありません。符号を変更する必要がある場合は方向を変更してください) 0001N 4545W …
8 code-challenge  arithmetic  parsing  code-golf  interpreter  code-golf  random  classification  code-golf  ascii-art  code-golf  code-golf  string  number  array-manipulation  code-golf  math  rational-numbers  code-golf  internet  classification  code-golf  string  integer  code-golf  number  graphical-output  typography  king-of-the-hill  code-golf  number  sequence  palindrome  code-golf  math  code-golf  math  probability-theory  code-challenge  image-processing  test-battery  code-golf  number-theory  code-golf  tips  swift  code-golf  graphical-output  image-processing  color  code-golf  string  conversion  code-golf  string  array-manipulation  code-golf  encryption  king-of-the-hill  code-golf  string  ascii-art  code-golf  code-golf  string  compression  decision-problem  code-golf  ascii-art  number-theory  division  code-golf  ascii-art  code-golf  code-golf  number  array-manipulation  code-golf  ascii-art  code-golf  code-golf  string  code-golf  sequence  number-theory  code-golf  math  geometry  code-golf  combinatorics  code-golf  integer  code-golf  arithmetic  number-theory  code-golf  arithmetic  restricted-source  number-theory  restricted-complexity 

1
aBOTcalypse Now
aBOTcalypse キングオブザヒルチャレンジに参加するボットを設計してください!デフォルトのボットゲームの再生を次に示します。 ボードは、横スクロールビデオゲームのように2Dです(ただし、スクロールはありません)。 有効なボットは、ボードの見える領域の複数行の文字列表現を受け入れ、ボットの移動を出力する必要があります。 力学 これはサバイバルゲームです。黙示録が来て、ボット(そしてハンマースペースに保管されている岩の無限の供給)だけが残っています。各ボットには、標高0のランダムな開始位置が与えられます。特定の移動では、ボットは休息、移動、岩の投げ、または岩の落下を行うことができます。ボットは静止した岩とスペースを共有できますが、投げられた岩に当たったボットのように、別のボットや流星と衝突するボットは殺されます。 重力:ボットと岩はボードの床または別の岩の上に置く必要があります。他の何か(空気、流星、ボットなど)で休むと、1つが「サポートされない」ままになります。サポートされていないボットやロックは、サポートされるまで落下します。1スペースを超える落下はボットを殺し、落下する岩またはボットの下のボットも殺されます。つまり、移動またはドロップアップの試行は、ボットが現在岩とスペースを共有している場合にのみ機能します(それ以外の場合、ボット/岩は1スペース下にフォールバックします)。スペースの下にある岩が落下したり、流星や発射物によって破壊されたりすると、スペースは「サポートされなくなり」ます。 流星:流星は毎ターン上からボードに入ります。流星の速度は大きさが2で、[-180,0]の範囲でランダムに選択されたランダムな角度と、ランダムな開始x位置があります。流星は、何かにぶつかるまで、与えられた軌道に沿って一直線に落ちます。流星の動きの丸めは0に向かっていることに注意してください(Pythonのようにint())。 発射物:ボットは、標高までの距離を問わず、岩を投げることを選択できます。スローされた岩は、何かにぶつかるまで直線的に移動します(流星とは異なり、すべて1ターンで、スローされた岩はボードに表示されません)- elevation / max distance。投げられた岩はx +-1平方で軌道を開始することに注意してください。たとえば、ボットの高度が5で、左に1の距離を投げた場合、岩はで始まり、(x-1,5)で終わり(x-2,0)ます。衝突はのステップでのみチェックされdx=1、dy(Pythonのようにint())0に向かって丸められます。 入力 各ボットは、ボードの境界まで、各方向に20ピクセルの正方形(チェビシェフ距離= 20)を見ることができます。各入力文字列には8つの異なる文字があります。 '#' (ボード境界) '.' (空気) '@'(流星) '&' (岩) 'e'/'s'(敵ボット、またはそれ自体) 'E'/ 'S'(岩とスペースを共有する敵ボット、またはそれ自体) 以下は入力例です(改行はになります\n): ..............................# ..............................# ..............................# ..............................# ..............................# ..............................# ..............................# ..............................# ..............................# ..............................# ..............................# ..............................# ..............................# ..............@...............# .....................E........# .....................&........# .....................&........# .....................&........# .....................&........# ...........@.........&........# ....................s&........# ############################### …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.