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

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

24
この番号はレーシアンですか?
正の整数kは、次の場合、レーシアン数です。 ki*i + j*j + i*jfor i、j整数として表現できます。 たとえば、最初の正のロジアン数は次のとおりです。1(i=1、j=0); 3(i=j=1); 4(i=2、j=0); 7(i=2、j=1); 9(i=-3、j=3); ... は、特定のに対して一意ではないことiに注意してください。例えば、も用いて生成することができます、。jk9i=3j=0 これらの数値の他の同等の特性は次のとおりです。 k表すことができるi*i + j*j + i*jためi、j負でない整数。(整数の各ペアについてi、j同じを与える非負整数のペアがありますk) k六角形のグリッド上でテッセレーションを形成する一連の連続した六角形があります(k = 4およびの図を参照k = 7)。(この特性のため、これらの数値はモバイルセルラー通信ネットワークに適用されます。) シーケンスのOEISページでその他の特性を参照してください。 チャレンジ 正の整数が与えられた場合、それがレーシアン数であれば真の結果を出力し、そうでなければ偽の結果を出力します。 プログラムまたは関数は1000、データ型の制限まで、または1分未満で入力を処理する必要があります。 コードゴルフ。最短勝。 テストケース 次の数値は、真の結果を出力するはずです。 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 次の数値は偽の結果を出力するはずです。 2, 5, 10, 42, 101, 102, 128, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

30
パブリック変数の何が問題になっていますか?
コードボット 私はプライベート変数とプロテクト変数が嫌いです。何でもアクセスしたい! あなたが私のようであれば、この挑戦​​はあなたのためです! 他のボットと調和して連携して動作するボットを作成し、他のボットに必要なことをさせます。あなたはプログラマであり、物事がどのように機能するかを知っています。あなたの仕事は、できるだけ多くの他のボットをあなたのやり方に変換することです。 コード ボットを作成するための24行のコードがあります。各ターン、すべてのボットは1行を順番に実行します。 各ボットはをA介して5つの変数を保存しますE。 AそしてB個人的な使用のためであり、C実行する次の行を記憶し、D現在の方向を記憶し、E乱数です。変数は0から始まりますが、を除きD、ランダムな値から始まります。すべての変数には、0〜23のみが格納されます。大きいまたは小さい数値は24で変調されます。 この投稿では、対戦相手を使用して、あなたが直面している隣接するボットになります 各行には、次の5つのコマンドのいずれかを含める必要があります。 Flag何もしません。それが勝つ方法を除いて MoveボットをDth方向に移動します。ボットがすでにスペースを占有している場合、移動は発生しません Copy Var1 Var2 Var1の内容をVar2にコピーします If Condition Line1 Line2 条件が真の場合、Line1を実行し、そうでない場合はLine2 Block Var1 変数への次の書き込みをブロックします 変数は次のように使用できます。 #Var変数を行番号として使用します。A17の場合、Copy #8 #A8行目の内容を17行目にコピーし *Varます。相手の変数を使用します。 Copy 5 *C対戦相手のC変数を設定して5 Var+Var、2つの変数を追加します。 Copy D+1 Dボットを右に回転させます Dが方向として使用される場合、使用され[North, East, South, West][D%4]ます これらの修飾子は連鎖できCopy *#*C #9ます。対戦者が実行する次の行を、9行目の独自のコードにコピー **Dします。対戦者の対戦相手のD変数を参照します。 条件は次のように評価されます。 場合Var: VarがAthroughのC場合、Varがゼロ以外の場合はtrueを返し、そうでない場合はfalseを返します。 Varがの場合D、Dth方向にボットがある場合はtrueを返し、そうでない場合はfalseを返します。 VarがのE場合、Eが奇数であればtrueを返し、そうでなければfalseを返します Varがラインの場合、フラグラインの場合はtrueを返します …

9
ペトリ皿の戦い
この課題では、ペトリ皿のアリーナで死と戦うために、単細胞生物の種を設計する必要があります。アリーナは、各セルが1つのスペースを占める長方形のグリッドとして表されます。 .....x.... ...x...o.. ...x.c..o. .......o.. 属性 すべてのセルには3つの属性があります。ゲームの開始時に細胞種を指定する場合、これらの属性間に12ポイントを割り当てます。 ヒットポイント(HP):セルのHPがゼロになると、死にます。新しいセルには完全なHPがあります。 細胞が死ぬと、エネルギーのために他の細胞に食べられる死体が残ります。 セルは失われたHPを取り戻すことはできませんが、分割することで完全なHPを持つ新しいセルを作成できます。 エネルギー:セルが実行できるほとんどのアクションにはエネルギーが必要です。積極的に休むことにより、細胞は種の最大値まで失われたエネルギーを取り戻すことができます。 エネルギーが5未満の細胞種は、分裂して新しい細胞を作ることができないため、失敗する可能性があります。 細胞はその種の最大値を超えてエネルギーを取り戻すことはできません。 新しく作成されたセルには、その親からコピーされた初期エネルギー値(および種の仕様によって決定される最大値)があります。 酸性度:セルが爆発することを選択した場合、セルの酸性度レベルは、隣接するセルへの損傷の計算に使用されます。 行動 ターンごとに、すべてのセルが1つのアクションを実行できます。 移動:セルは、1エネルギーのコストで任意の方向(N / S / E / W / NE / NW / SE / SW)に1スペース移動します。 セルは、別の生きているセルが占有するスペースに移動できません。 セルはグリッドから移動できません。 細胞死体に移動すると、死体が破壊されます。 攻撃:セルは隣接するセルを攻撃し、1〜3のエネルギーポイントを消費して1〜3のダメージを与えます。 セルは、あらゆる方向(N / S / E / W / NE / NW / SE / …

30
最初の価格の密封入札オークション
最終結果 競争は終わりました。おめでとうございますhard_coded! 興味深い事実: 40920のオークションのうち31600(77.2%)で、最初のラウンドの勝者がそのオークションで最も多くのラウンドを獲得しました。 例えば、ボットが競争に含まれている場合は、トップ9の場所は点を除いて変更されませんAverageMineし、heuristその位置を入れ替えます。 オークションの上位10件: [2, 2, 3, 3] 16637 [0, 3, 3, 4] 7186 [1, 3, 3, 3] 6217 [1, 2, 3, 4] 4561 [0, 1, 4, 5] 1148 [0, 2, 4, 4] 1111 [2, 2, 2, 4] 765 [0, 2, 3, 5] 593 [1, 1, 4, 4] …

7
パックマンのプログラミング
Programmin 'Pac-Man セッティング あなたはパックマンとしてプレイします。ゴーストを避けながら、ペレット、フルーツ、パワーペレットを他の誰よりも早く収集したいと考えています。 ルール すべての有効なパックマンは1つの迷路になります。10ゲーム後に累積スコアが最も高いプレイヤーが勝ちます。 すべてのパックメンが死んだとき、すべてのペレットがなくなったとき、または500ターンが経過したときにゲームオーバー パックマンが死んだ場合、彼はゴーストとしてプレイし続けます パワーペレットを食べると10ターン無敵になり、ゴーストを食べることができます ゴーストを食べると、ゴーストがランダムな場所にテレポートされます 幽霊はパックメン以外は何も食べられず、ポイントも獲得できません パックマンとして次のアイテムを食べると、次のポイントが得られます。 ペレット:10 パワーペレット:50 フルーツ:100 ゴースト:200 迷路 Pac-Men がn個ある場合、Primのアルゴリズムを使用して(サイズの小さい迷路が原因で)サイズの迷路が生成さsqrt(n)*10れ、既存の行き止まりを優先して完全に編組されます。さらに、この編組は端を越えて行うことができるため、上から下へ、および左から右へのいくつかの経路があります。sqrt(n)*10 あるだろう: 2n 幽霊 4n パワーペレット 2n フルーツ n 接続された隣人の正方形が空のスポットのパックメン。 残りのすべての空のスポットはペレットで満たされます したがって、10人のプレイヤーがいる最初のマップは次のようになります(ゴースト=緑、ペレット=アクア、フルーツ=赤、パックマン=黄色): 入出力 ゲームの開始時に、マップのすべての正方形の壁を表す1行のキャラクターが与えられます。左上から始まり、右に移動し、次の行に折り返す各正方形について、壁の状況を表す16進数が与えられます。 0: No walls 1: North wall 2: East wall 3: East & North wall 4: South wall 5: …

10
3D:個別のドッグファイティングデュエル(非Javaの提出に対応)
更新: isSuicidal()が飛行機クラスに追加されました。これにより、飛行機が壁との不可逆的な衝突コースにあるかどうかを確認できます!! 更新: simulateMove()から分離されたupdateCoolDown() 更新:Sparrによって書かれた非Javaエントリラッパー、テストに利用可能、コメントを参照 UPDATE Zoveゲームが書いた素晴らしい3Dビジュアライザこのケートのために、ここでくだらないのユーチューブのビデオだ PredictAndAVoidを戦っPredictAndAVoidのは。 PlaneクラスのsimulateMove()関数はわずかに修正されたため、クールダウンが更新されなくなり、撮影後に新しいupdateCoolDown()関数が使用されます。新しいisSuicidal()は、飛行機が死んでしまう場合にtrueを返し、それを使用して敵の動きを取り除き、壁にぶつからないようにします。更新されたコードを取得するには、ControllerクラスとPlaneクラスをgithubリポジトリ内のクラスに置き換えるだけです。 説明 この課題の目標は、別の競技者が2機の飛行機と対決する2機のドッグファイティング機をコーディングすることです。ターンごとに1つのスペースを移動し、撮影する機会があります。それだけです、それはそれと同じくらい簡単です。 よくほとんど... アリーナと可能な動き アリーナは、スペースで囲まれた14x14x14です。競技者1の面は(0,5,0)と(0,8,0)の位置から始まり、競技者2の面は(13,5,13)と(13,8,13)で始まります。すべての飛行機は、最も近い垂直な壁から水平方向に離れることから始まります。 ヘリコプターではなく飛行機を飛ばしているので、自由に方向を変えたり、移動を止めたりすることはできません。したがって、各飛行機には方向があり、毎回その方向に1タイル移動します。 可能な方向は、北(N)、南(S)、東(E)、西(W)、上(U)および下(D)およびこれら6つの任意の論理的組み合わせです。NS軸はx軸に対応し、WEはyに、DUはzに対応します。NW、SU、およびNEDは、方向の可能な例として思い浮かびます。UDは、無効な組み合わせの良い例です。 もちろん、飛行機の方向を変更することはできますが、制限があります。方向は最大で45度しか変更できません。これを視覚化するには、ルービックキューブ(1つあることを知っています)をつかみ、26個の外側の小さなキューブすべてが可能な方向(1文字の方向が面、2文字の方向がエッジ、3文字の方向がコーナー)であると想像してください。小さな立方体で表される方向に向かっている場合は、自分に触れている各立方体の方向を変えることができます(斜めに触れているが、目に見えるように触れているだけで、立方体に触れていない)。 すべてのプレーンがどの方向に変更したいかを示した後、それらを変更し、1つのタイルを同時に移動します。 有効な方向に移動することもできますが、方向を移動先の方向に変更する代わりに、目的の方向に飛行し続けることができます。これは、角を曲がる車と車線を変更する車の違いに似ています。 射撃と死 ラウンドごとに最大1回撃つことができます。これは、飛行する方向を決定すると同時に、飛行機(ひいては銃)を同じ方向に向けるかどうかを決定すると同時に決定する必要があります。弾丸は、飛行機が移動した直後に撃たれます。撮影後、1ターンのクールダウンがあり、3ターン目には、もう一度行くことができます。飛んでいる方向にのみ撃つことができます。弾丸は瞬時に発生し、壁や飛行機に当たるまで一直線に飛びます。 方向を変える方法と「車線を変える」方法を考慮して、これは、斜めの単一線に加えて、あなたの前に最大3x3行の列を脅かすことができることを意味します。 飛行機にぶつかると、この飛行機は死に、ボードからすぐに消えます(完全に爆発するなどの理由で)。弾丸は、せいぜい1機しか攻撃できません。弾丸は同時に撃たれるので、2つの飛行機が互いに撃つことができます。ただし、2つの弾丸は空中で衝突することはありません(悲しいことですが)。 ただし、2つの平面は衝突する可能性があり(同じ立方体になり、同じ平面にならずに互いに交差しない場合)、両方の平面が死ぬ(および完全に爆発する)ことになります。また、問題の飛行機が死に、その行動を考えるために隅に置かれることになります壁に飛ぶことができます。衝突は、撮影前に処理されます。 コントローラーとの通信 私は、javaおよび他の言語のエントリーを受け入れます。エントリがJavaの場合、STDINを介して入力を取得し、STDOUTを介して出力します。 エントリがjavaの場合、.yourエントリは次のクラスを拡張する必要があります。 package Planes; //This is the base class players extend. //It contains the arena size and 4 plane objects representing the planes in the …

3
助けて!電卓が壊れた!(整数式を電卓のキーストロークに変換します)
前書き 助けて!誤ってTI-84計算機を窓から落とし(方法は聞かないでください)、壊れました。明日は数学のテストがありますが、見つけることができるのはこれらのボタンを備えた計算機だけです。 7 8 9 + 4 5 6 - 1 2 3 * 0 = / 私の数学のテストは、式の評価に関するレビューテストです。などの式を取得1+(5*4)/7し、予備の計算機でそれを解決するために必要なキーストロークに変換するプログラムが必要です。(そして、あなたが疑問に思っている場合、これは実際に私に起こりました)。 チャレンジ 含有する非空の入力文字列が与えられた唯一の文字0-9、(、)、+、-、*、および/、出力スペースで区切られた文字列内のキーストローク(例えば。1 + 3 / 3 =)。出力の最後には常に等号が必要です。標準の抜け穴は許可されていません。 例: 入力:1+(5*4)/7、出力:5 * 4 / 7 + 1 = 入力:6*(2/3)、出力:2 / 3 * 6 = 入力:(7-3)/2、出力:7 - 3 / 2 = この課題を簡単にするには: 入力には、計算機をクリアする必要のない一連のキーストロークが入力されていると想定1-(7*3)できます(計算する必要があるため無効です。7 * 3実行するには計算機をクリアします1 …

6
それはBSです!(トランプゲーム)
BSは、ゲームの目的がすべてのカードを失うことであるカードゲームです。 ゲームは4人のプレーヤーと52枚のカードデッキで構成されます。各プレイヤーにはランダムに13枚のカードが配られます。通常、カードには2〜10、エース、ジャック、クイーン、キングのラベルが付けられますが、簡単にするために、カードには0〜12の番号が付けられます。プレーヤーの手にあるカードの数は公開情報ですが、プレーヤーだけが自分の手にある特定のカードを知っています。 ゲームは次のようになります:最初のプレーヤーは、0のラベルが付いたカードを好きなだけ捨て札の山に置きます(通常は、0のラベルが付いたすべてのカードをプレイする必要はありませんが、そうするのが最善です) )。彼は少なくとも1枚のカードをプレイしなければなりません。2番目のプレーヤーは1のラベルを付けたい数のカードをプレイし、3番目のプレーヤーは2をプレイします。12の後、0にリセットされます。 あなたがプレイすることになっているカードのいずれかを持っていない場合はどうなりますか?覚えておいて、あなたは少なくとも1枚のカードをプレイする必要があります-実際には、あなたが望むカードをプレイすることができます!(実際、正しいカードを持っている場合でも、嘘をついて別のカードをプレイできます)。ただし、誰かがあなたに電話して「BS!」と言うことはできます。その誰かが正しく、あなたが嘘をついていたなら、あなたは捨て札の山にあるすべてのカードを取らなければなりません。報酬として、あなたをコールしたプレイヤーは、自分のカードの1つを捨て札の山にランダムに置きます。ただし、告発者が間違っている場合、彼はすべてのカードを破棄パイルに入れなければなりません。あなたがプレイするカードの数について嘘をつくことができないことに注意してください。 より詳細な情報: ゲームの開始時に、4人のランダムなプレイヤーが選ばれます。少なくとも1000のゲームがあるため、各プレイヤーはプレイする機会を得ます。ターン順は、ゲームの開始時にランダムに決定されます あなたは1枚の正しいカードと1枚の間違ったカードを返却した場合、それは嘘と考えられている(あなたが与えることになっていた場合、すなわち2秒を、あなたは1与えた2と1 1を、その後のが嘘をついていることを、) 2人以上のプレイヤーが両方とも同時にBSと言う場合、1人がランダムに選択されます。 スコアは、勝ったゲームの割合です。 最大1000ラウンドがあり、1ラウンドはすべてのプレーヤーが1回行くことです。通常、この前に誰かが勝ちます。誰も勝てない場合、プレイされたゲームの総数にカウントされますが、誰も勝ちません。 仕様: を拡張するクラスを作成する必要がありますPlayer。次のようになります。 package players; import java.util.ArrayList; import java.util.List; import controller.*; public class Player1 extends Player { @Override protected List<Card> requestCards(int card, Controller controller) { Card[] hand = getHand(); List<Card> ret = new ArrayList<Card>(); for (Card c : hand) …

30
賢い人のMira気楼
むかしむかし、Quoraでこの質問/回答を読んでいた FizzBu​​zzテストに合格できないコンピューターサイエンスの学位を持つプログラマーは本当にいますか このコードは明白な答えとして与えられます for i in range(1, 100): if i % 3 == 0 and i % 5 == 0: print "FizzBuzz" elif i % 3 == 0: print "Fizz" elif i % 5 == 0: print "Buzz" else: print i もちろん、FizzBu​​zzは死ぬまでゴルフにかけられましたが、それはこの質問の目的ではありません。あなたはコメントで、4の倍数の印刷「ジャズ」などの追加条件を簡単に追加できるので、この明白な答えは素晴らしいと誰かが言及していることがわかります(同意しません。このスキームを拡張するにはO(2 ** n )コード行。) あなたの挑戦は、仲間によって判断されるようにFizzJazzBuzzの最も美しいバージョンを書くことです。 投票者が考慮すべき事項: ドライ 除算/モジュラス演算の効率 Quoraに関する回答の多くはPythonを使用していましたが、ここではそのような言語の制限はありません。 …
29 popularity-contest  code-challenge  word  popularity-contest  string  grid  language-design  code-golf  source-layout  math  fastest-algorithm  assembly  code-golf  json  code-golf  arithmetic  array-manipulation  code-golf  ascii-art  code-golf  crossword  code-golf  string  restricted-complexity  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  decision-problem  balanced-string  syntax  code-golf  grid  puzzle-solver  hexagonal-grid  code-golf  math  number  sequence  code-golf  string  decision-problem  code-golf  cryptography  king-of-the-hill  code-challenge  fastest-code  code-golf  number  code-golf  code-golf  string  code-golf  cryptography  king-of-the-hill  java  code-golf  number-theory  base-conversion  code-golf  code-golf  array-manipulation  code-golf  array-manipulation  sorting  code-challenge  restricted-source  quine  code-golf  tips  python  king-of-the-hill  code-golf  source-layout  fractal  code-golf  tips  game  king-of-the-hill  path-finding  grid  code-golf  kolmogorov-complexity  natural-language  code-golf  tips  python  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  number  combinatorics  random  integer-partitions  code-golf  string  code-golf  vim  comment  code-golf  combinatorics  counting  code-challenge  rosetta-stone  code-golf  combinatorics  sequence  subsequence  code-golf  code-challenge  restricted-source  primes  printable-ascii  popularity-contest  graphical-output  image-processing 

21
モラ、高貴な王のゲーム
バックグラウンド Morraのゲームはシンプルなゲームです。「オリジナル」バージョンでは、複数のプレイヤーが同時に全員のハンドの合計を推測しながら0-5の数字を手で投げます。ここで使用するバージョンは、重要な戦略の可能性を高めるために変更されました。以下で説明します。 2人のプレーヤーがいます。 じゃんけんのように、プレイヤーは同時に動きます。 各ターン、各プレイヤーは0〜5の数字を選択し、0〜5の対戦相手の選択も推測します。つまり、1ターンごとに2つの数値が出力されます。明確にするために、両方の数値の出力は、0〜5の範囲である必要があります。 対戦相手の選択を正しく推測したが、対戦相手が正しく推測しなかった場合、プレイした2つの数字の合計に等しい特定のポイント数を獲得します。たとえば、プレイした数字が3と5だった場合、正しい推測は8ポイントの価値があります。 両方または両方のプレイヤーが正しく推測した場合、ポイントは付与されません。 1000ラウンド後に最もポイントを獲得した人がそのゲームに勝ちます。 トーナメント トーナメントはラウンドロビン方式で行われ、各参加者の可能なペアを作成することによって実行されます。勝利ごとに、競技者は2勝利ポイントを獲得します。引き分けごとに1勝利ポイントが得られます。負けても勝利ポイントは獲得できません。 直観的には、トーナメントの勝者は、他の人に対して最も勝利点のある競技者でなければなりません。 入場方法 競合するボットを送信するには2つの方法があります。最初の、そして最も好ましい方法は、コントローラーによって提供されるJavaインターフェースを実装することです。2番目の方法は、独立したプログラムを作成することです。 最初にJavaメソッドについて説明しましょう。実装する必要があるインターフェイスPlayerは次の2つのメソッドを定義しpublic String getName()ます。ボットを識別し、6つの文字列の配列としてpublic int[] getMove(String[] args)受け取ります。例は次のとおりです。argsmychoices myguesses myscore opponentchoices opponentguesses opponentscore 042 045 0 324 432 6 これは、私が最初のラウンドで0を選択し、対戦相手が0を投げると推測したことを意味します。対戦相手が3を投げて、4を投げると推測しました。 2、つまり2 + 4 = 6ポイントを獲得します。 メソッドは、それぞれ選択と推測である2つの整数の配列を返します。例は{4,2}、4の選択と2の推測の場合です。 メソッドとして記述された完全なJavaボットの例を次に示します。必要に応じて、サブミットにはgetMoveメソッドで行われていることを含めるだけで済みます。 import java.util.Random; /** * A simple example Morra bot to get you …

13
廃inの冒険者
テストドライバー • チャレンジディスカッション • 冒険家を提出する (画像ソース) 数人のライバルの冒険者が宝物のために廃insを襲撃していますが、彼らは一度に多くを運ぶことができるだけで、持久力の限界があります。彼らは最も価値のある宝物を手に入れ、疲れすぎて続行できない前に出たいと思っています。彼らは略奪するシェナンガンから可能な限り金持ちになろうとしています。 ゲームプレイ それぞれの冒険者は、1000個のスタミナポイントとバックパックに50kgのスペースがあるダンジョンの最初の部屋から始まります。 ゲームはターンベースの方法で動作し、すべてのプレイヤーが同時にターンを解決します。ターンごとに、次のアクションのいずれかを実行できます。 次の部屋に移動します。 前の部屋に移動します。 宝を取るためにスタミナを入札します。 宝物をドロップします。 部屋間を移動するには、10スタミナに加えて、現在バックパックに入っている5 kgごとに1スタミナが必要です。たとえば、3kgの宝物を運ぶ冒険者の移動には11体のスタミナが必要で、47kgの宝物の移動には20体のスタミナが必要です。 宝をドロップするには、ドロップする宝に関係なくスタミナが1つ必要です。 廃insを出ると、プレイヤーはこれ以上ターンを行いません。 プレーヤーがこれらのアクションのいずれかを実行できない場合(スタミナの不足または宝物の欠如)、冒険者は疲弊して死に、保有している宝物を現在占有されている部屋にこぼします。同様に、プレイヤーが無効なアクションを行おうとすると、冒険者は代わりにトラップで殺され、同じ宝物が流出します。 入札 宝の最低入札価格は、宝の重さ1kgにつき1スタミナです。宝物を獲得する可能性が高くなるように、追加のスタミナポイントを入札することもできます。入札されたスタミナは、結果がどうであれ消費されます。 複数のプレイヤーが同じ宝を獲得するために入札した場合、最高額を入札したプレイヤーが宝を獲得します。複数のプレイヤーが最高入札を行った場合、誰も宝を受け取りません。 勝利条件 宝物の合計値が最大のプレイヤーが勝者です。まれにネクタイが発生した場合、タイは最小の総重量、次に最小の宝物数、次に最も価値のある宝物、2番目に貴重なもの、3番目...に至るまで続きます。ほぼ不可能なこの時点で引き分けがある場合、テストドライバーは「それをねじ込む」と言い、勝者はそれによって任意に決定されます。 トーナメントの文脈では、プレイヤーは1位で10ポイント、2位で9ポイント、3位で8ポイント、などとランク付けされます。 遺跡について 各部屋は、最初の間に含まと宝物。(は部屋番号です)⌊ R3⌋ + 3⌊r3⌋+3\lfloor{r \over 3}\rfloor + 3⌊ R2⌋ + 5⌊r2⌋+5\lfloor{r \over 2}\rfloor + 5rrr 冒険者のスタミナと探検意欲によってのみ制限される、任意の多くの部屋があります。 各宝には、金銭的価値(全体で$)と重量(全体でkg)があります。 遺跡の奥深くに行くほど、宝物はより価値があり、豊富になる傾向があります。 宝物を生成するための具体的な式は次のとおりです:(サイコロロールに表記を使用) x dyxdyxdy 式(最小1)を使用して最初に重みが生成されます2 D6 − …

6
ヒルのチーム!
この課題は、@ HelkaHombaの優れた課題である赤対青ピクセルチームバトルボットに触発されました。このチャレンジは、おそらくこのサイトで見た中で最高のチャレンジでした。今まで。 私の挑戦はまだ大きく異なりますが、@ HelkaHombaはそのインスピレーションに感謝します。 概要 これは、すべてのプレイヤーがあなたのチームで生き残っていることによってあなたのチームが勝つ丘のチームです。つまり、最後のチームに立って勝ちます。抽選はやり直されます。 あなたはボードに乗っています。最初のラウンドでのポジションを知っています(0にチェックマークを付けます)。また、あなたはあなたの周りの地域に誰がいるか知っています: この場合、あなたの周りには誰もいませんでした。ontickハンドラーの最初の引数で周囲のアイテムを見ることができます。APIについては後で詳しく説明します。 あなたのチーム チームはユーザーIDによって決定されます。それを見つけるには、プロフィール画像をクリックしてください: 次に、アドレスバーでユーザーIDを見つけます。 奇妙な場合、あなたは青いチームにいます。 偶数の場合、あなたは赤チームです。 手描きのサークルを歓迎します。 あなたの(ボットの)名前 ボットの名前は、チームの最初の文字(「r」または「b」)で始まります。正規表現と一致する必要があり/^(r|b)[A-Za-z_-]$/ます。それ以外は、ボットの名前を選ぶことができます。既存のものを使用しないでください。 起動 赤いプレーヤーはマップの上部近くから始まり、青色のプレーヤーは下部近くから始まります。関数のenvironmentパラメーターの最初のティック(ターン)に関する特別な情報が提供されontickます。保管することをお勧めします。詳細については、APIをご覧ください。 あなたの番 順番は最初はランダム化されますが、その後は変わりません。 ターンアクション ターンごとに1つのアクションしか行えません。 移動する 移動したい場合this.move(num)は、API を呼び出します。num移動したいセルです: 移動できる数値の相対位置は、グローバル定数に保存されますthreeByThree。 [ [0, 1, 2], [3, undefined, 4], [5, 6, 7] ] 壁や他のプレイヤーに移動しても、何も起こりません。 回転 回転するには、を呼び出しますthis.rotate(num)。Numは、回転させる方向です。 回転は絶対です。 殺します (別のチームの)他のプレイヤーが直面しているセルにいる場合、this.kill()それらを呼び出して殺すことができます。誰もいない場合、または彼らがあなたのチームにいる場合、これは何もしません。例: になっている場合0、緑を殺すことができます。1になっている場合、青を殺すことができます。2になったら、オレンジを殺すことができます。3になったら、黄色を殺すことができます。 爆弾 爆撃は、あなたとあなたの周りの9マスのチームメイトを含むすべてのプレイヤーを殺します。例: なぜあなたはこれをしたいのですか? 神風。あなたの周りの9つのセルにあなたのチームにいないプレイヤーがもっといるなら、あなたのチームにもいるので、爆撃を検討するかもしれません。(最初に仲間に通知することをお勧めします!) 地雷を配置する これにより、チームにいない他の人の死の広場が作成されます。地雷を配置すると、その上に足を踏み入れないように移動します。あなたは呼んでthis.landMine(num)numは、あなたがに行きたいの正方形です。例: …

9
キングオブザヒル-消防士
大草原の乾燥した夏です。この地域の4人の農民は、近隣の作物を燃やすことでトウモロコシの市場を独占できることに気付いています。しかし、そうするための戦略が必要です。それがあなたの出番です。 あなたの仕事はボットを書き、農家に何を燃やすかを伝えることです。目標は、未燃地の最大面積でゲームを終了することです。競技場は32x32グリッドです。各セルは次のいずれかです。 . - Ground @ - A bot # - Ash W - Wet ground 1,2,3,4,5, or 6 - Fire 火は1ターンごとに強さが増します。3以上になると、その横にあるセルを(水平または垂直に)起動します。火が6に達した後、灰に変わります。 各ターンで、ボットはSTDINとして、ボット開始x、ボット開始y、ボット現在x位置、ボット現在y位置、および改行で区切られたボードを受け取ります。例: 8 22 6 24 ................................ ................................ ................................ .....................1.......... ....................1#1......... ...................1#363........ ....................16@1........ .....................31......... ................................ .........1.1.................... ........15#62................... ........15@2.................... .........32..................... ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ....4.1......................... …

30
最小の固有番号KoTH
最小の一意の番号を選択するボットを作成します。 (私が何年も前に聞いた心理実験に基づきますが、再び追跡することはできませんでした。) ルール 各ゲームは、1000ラウンドをプレイする10個のランダムに選択されたボットで構成されます。 各ラウンドでは、すべてのボットが1〜10(両端を含む)の整数を選択します。同じ値を選択したボットは除外され、最小の値を持つ残りのボットはポイントを受け取ります。 ボットが一意の値を選択しない場合、ポイントは付与されません。 1000ラウンドの終了時に、最もポイントの多いボット(または最もポイントの多いボットすべて)がゲームに勝ちます。 トーナメントは200 *(プレーヤー数)ゲーム続きます。 勝率が最も高いボットがトーナメントに勝ちます。 仕様書 ボットはPython 3クラスでなければならず、2つのメソッドを実装する必要があります:selectとupdate。 ボットはインデックスで構築されます。 select引数は渡されず、現在のラウンドに対するボットの選択を返します。 update前のラウンドで各ボットによって行われた選択のリストが渡されます。 例 class Lowball(object): def __init__(self, index): # Initial setup happens here. self.index = index def select(self): # Decision-making happens here. return 1 def update(self, choices): # Learning about opponents happens here. # Note that …

15
KOTH:すべてのコインには2つの側面があります
利用可能な最終結果 前書き 私の以前の重いテーマ(ファンタジー戦争、世界的なパンデミックなど)のKOTHの後、私は新しい気楽なゲームに戻ってきました。今回は、「ボードゲームのような」状況に直面しています。逆さまのコインの山が本当に大きなテーブルの中央に置かれ、あなたは戦利品のシェアを手に入れようと決心しています! 用語集 コイン:反転または反転できるトークン。 Unflipped:値が下を向いた状態でテーブルに置かれたコイン。これは、コインのデフォルトの状態です。 反転:テーブルに置かれたコインは、その値が上向きになります。 ローカル:コインの山を指します。 グローバル:中央のコインの山を指します。 原理 ゲームの開始時に、各プレーヤーは0ポイントと0コイン(フリップまたはアンフリップ)で始まります。ゲームはターンベースです。ターン中、プレイヤーはテーブルの中央にあるコインの山、自分のコインの山、または他のプレイヤーと相互作用する最大3つのアクションを取ることができます。 プレイ順序は、ゲームの開始時にランダムに定義されます。引数リスト内のプレーヤーの順番はターン順を表し、そのリスト内で左から右に進みます。「次へ」と「前へ」はそれぞれ「そのリストの右側」と「そのリストの左側」を指し、どちらかの最後にいる場合はループします。 ゲームは50ラウンド、またはプレイヤーターンの終了時に中央にコインが0になるまで続きます(つまり、最初のアクションの後にパイルが空であっても、3つのアクションを終了し、コインを戻すことができます)ゲームは続行します)。グローバルコインの開始数は、次の式でランダムに定義されます。 (2 ^ nb_players) + (nb_players * 10) - random(1 + (nb_players ^ 2))` 各アクションはあなたにポイントを獲得し(またはあなたがいくらか失う)、ゲームの終わりに、あなたが持っている各コインがあなたのポイントに追加されます(フリップされていない場合は-1、フリップされている場合は+2)。最高スコアのプレイヤーが勝ちます。 コントローラーはコマンド引数を介して入力を提供し、プログラムはstdoutを介して出力する必要があります。 構文 入力 プログラムが呼び出されるたびに、この形式の引数を受け取ります。 Round;YourPlayerId;Coins;PlayerId_Points_Flipped_Unflipped;PlayerId_Points_Flipped_Unflipped;... ラウンドは1から始まります。 入力例 6;2;52;1_20_3_12;0_-2_0_1;2_12_1_0 ここでは、第6ラウンドであり、プレイヤー2であることがわかります。中央の山には52個のコインがあります。12ポイント、反転コイン1枚、反転コイン0枚があります。ポイントはマイナスになる場合があります。 出力 3文字(スペースなし、区切りなし)を出力する必要があります。各文字は、このターンで行う1つのアクションに対応しています。文字の順序によってアクションの順序が決まります。同じアクションを複数回出力できます。アクションを完了するのに十分なコインがない場合、使用可能なコインの最大数を使用し、使用したコインのみのポイントをカウントします。 N:何もしない 1:中央の山からコインを1枚取ります[効果:+1のローカルアンフリップ/ -1ポイント/ -1のグローバルフリップなし] 2:中央のパイルから2コインを取ります[エフェクト:+2ローカルアンフリップ/ -2ポイント/ -2グローバルアンフリップ] 3:中央のパイルから3枚のコインを取ります[エフェクト:+3ローカルアンフリップ/ -3ポイント/ -3グローバルアンフリップ] A:パイルから1コインを戻します[エフェクト:-1ローカルアンフリップ/ +1ポイント/ …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.