タグ付けされた質問 「game」

この課題は一般に、ゲームまたはゲームの一部に基づいているか、関連しているか、またはシミュレートしています。

8
誰がフットボールの試合に勝つつもりですか?
アメリカンフットボールのチャンピオンシップであるスーパーボウル50は、本日11時30分(UTC)に開催されます(オンラインでライブ視聴できます)。この挑戦はそれを祝うためになされました。 アメリカンフットボールの試合では、2つのチームが最も多くのポイントを獲得するために競い合い、これらのポイントを獲得する6つの方法があります。それぞれに略語を付けます: フィールドゴール - FG:3ポイント タッチダウン - TD:6ポイント 追加ポイント - XP:1ポイント-タッチダウンの直後にのみ得点できます。 2ポイントの変換 - XD(追加のポイントと同様ですが、より幸せです):2ポイント-タッチダウンの直後にのみ得点できます。 安全性 - S:2ポイント フェアキャッチキック - FCK:3ポイント(非常にまれなプレー) これらの6つの略語のみを大文字と小文字の両方で含む1行の文字列を取り込むプログラムまたは関数を記述します。 この文字列は、フットボールの試合(または試合の一部)のすべてのスコアリングイベントを表し、大文字の用語は1つのチームに属し、小文字の用語は他のチームに属します。 あなたの仕事は、ゲームの最終スコアを報告し、フォームの出力で勝った人を示すことです [score 1] [to] [score 2] どこ: [score 1] 大文字と小文字のどちらが勝つかに関係なく、常に2つのスコアの大きい方(等しくない場合)です。 [score 2] 2つのスコアのうち小さい方(等しくない場合)。 [to]でTO、あれば大文字のチームウォンto小文字のチームが勝った場合、およびToそれがタイだ場合。 例:スーパーボウルXLIXのすべてのスコアリングイベントは 、文字列で要約できます。 TDXPtdxpTDXPtdxpfgtdxpTDXPTDXP ここで、大文字はニューイングランド・ペイトリオッツ、小文字は シアトル・シーホークスです。パトリオットは28点、ホークス24点を獲得したため、出力は次のようになります。 28 TO 24 ノート プログラム/関数は、空の文字列を含む任意の入力をサポートする必要があります。 XPおよびのXD直後にのみ発生しますTD。xpおよびのxd直後にのみ発生しますtd。 特定の場合に、入力文字列が開始または終了するとは限りません。 入力と出力の両方で、オプションで単一の末尾の改行を使用できます 得点 …

3
文字列内のパターンを検索
この挑戦では、あなたの仕事は、与えられた構造を持つ部分文字列を見つけることです。 入力 入力は、空ではない2つの英数字文字列、パターン p、およびテキスト tです。の考え方は、の各文字がp連続して空でない部分文字列を表し、その部分文字列tが隣り合って出現し、pそれらの連結を表すことです。同一の文字は同一の部分文字列に対応します。たとえば、パターンaaは空でない正方形(短い文字列をそれ自体に連結することによって取得される文字列)を表します。したがって、パターンaaは部分文字列byebyeとa一致し、それぞれ一致しbyeます。 出力 テキストtにp一致する部分文字列が含まれている場合、出力はその部分文字列になり、の文字に:対応する文字列の間にコロンが挿入されますp。例えば、我々が持っている場合t = byebyenowとp = aa、その後、bye:bye許容出力されます。一致する部分文字列にはいくつかの選択肢がありますが、そのうちの1つだけを出力します。 t一致する部分文字列が含まれていない場合、出力は悲しい顔になり:(ます。 規則と説明 の異なる文字はp同一の部分文字列に対応できるためp = aba、文字列と一致できますAAA。文字は空でない文字列に対応する必要があることに注意してください。特に、pがより長い場合t、出力はでなければなりません:(。 完全なプログラムまたは関数を記述できます。また、2つの入力の順序を変更することもできます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 形式で与えられますpattern text -> output。他の受け入れ可能な出力が存在する可能性があることに注意してください。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

2
スネークピットの食糧不足
スネークピットの食糧不足 35年ぶりに、スネークピットの食料が不足しています。住民のヘビは、この食糧不足を乗り切るために、互いに戦わなければなりません。食物連鎖の一番上に立つことができるのは1匹のヘビだけです! リーダーボード まだここにいない! 最終更新は2月24日 最後の試合の視覚化へのリンク 説明 最後の残りのリンゴ/サクランボ/何のために戦いたいなら、あなたは与えられた入力を受け入れてその次の動きを返すプログラムの形で蛇を提供しなければなりません。 唯一のひねりは、あなたがピットで一人ではないということです。別のヘビも珍しい食べ物を手に入れようとします!しかし、ヘビピット内は暗いので、自分とリンゴしか見えません。敵にぶつかると、自分を噛んだり壁にぶつかったりするように、死に至ります。さらに、最近ではリンゴはめったにないので、対戦相手が長さ7に達するのに十分な量を食べたら飢えてしまいます。 スネークピットは幅と高さが15の2次元マップであり、最外部のタイルは通過できない壁を構築します。 0 1 2 . . . c d e 0 # # # # # # # # # 1 # # 2 # x # . # # . # # . # # c # # d # …

4
既存のフレームワークを使用して2048 AIをプログラムする
編集:最近、私の質問は2048ボットチャレンジの複製として提案されました。この質問はその質問とは異なり、回答をその質問とは異なる方法で考える必要があることを強調したいと思います。2048ボットチャレンジは、ユーザーにボットを作成するように要求し、ボットを1時間実行します。最高スコアはユーザーのスコアです。さらに、555バイトの制限がありました。私のチャレンジでは、コードの実行頻度ははるかに低く、3回だけです。スコアは、これらの3回の平均スコアを使用して、ゴルフコードの文字長で割ることによって計算されます。私の質問は、エントリが「スマート」であり、総当たりで最高のスコアを取得しようとしないことを奨励しています。 - 編集:getメソッドがgetTileに変更され、JSキーワードgetとの競合を回避しました。さらに、高得点セクションが追加されました。 最近、JavaScriptを使用して人気のあるゲーム2048を制御できるサイトを作成しました。私のサイトはここにリンクされています: http://thatcoolidea.com/2048 どうやって: Ace Editorはボードの上にあります。コードを配置します。コードは250ミリ秒ごとに1回、または1秒間に4回実行されます。これはサイクルと呼ばれます。 ボードを制御するには、次の方法を使用します。矢印キーは使用できません。 up(); //move up down(); //move down left(); //move left right(); //move right move(integer); //integer is a direction. 0:up,1:right,2:down,3:left getTile(y,x); //gets the value of the tile in position y,x on the board. See diagram 便宜上、次の変数が定義されています。 eother //boolean, alternates every cycle frozen //integer, …

10
昇順行列
「昇順行列」は、任意の要素がそれぞれの行と列で以前に使用されていない最小の利用可能な要素である整数の無限行列(0を含む)です。 | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

1
正規表現の検証正規表現[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*。;) フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。] 私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

7
マジック:能力を備えた集会戦闘
関連する ゴール: オプションの戦闘能力を持つ2つのクリーチャーが与えられた場合、どのクリーチャーが死んだかを表す一意で一貫した値を返します。 入力: #Longest form: [[P,T, "<abilities>"], [P,T, "<abilities>"]] #Shortest form: [[P,T], [P,T]] 各クリーチャーはの形で与えられ[P,T,"<abilities>"]ます。フォーム、、または機能がない場合は、フォーム[P,T]で選択します。Pは0以上の整数、Tは1以上の整数です。はのサブセットであるか、必要に応じて単一の数値/ビット文字列で表すことができます。フラグの順序もあなた次第です。[P,T,""][P,T,0]<abilities>"DFI" 戦闘力学: 各クリーチャーには、パワーとタフネスの順序の2つのステータス、およびオプションの能力があります。クリーチャーのパワーは> = 0です。クリーチャーのタフネスは> = 1です。 各クリーチャーは、同時に相手のクリーチャーにそのパワーに等しいダメージを与えます(先制攻撃がない限り)。値が対戦相手のタフネス以上である場合、(破壊できない場合を除いて)死にます。 例:アリスはaで2/2、ボブはaで3/4、両方とも能力がありません。アリスはボブに2ダメージを与え、代わりに3ダメージを与えます。アリスのタフネスは2なので死んでしまい、ボブのタフネスは4なので死んでしまいます。 このために検討するオプション機能は3つだけです(ただし、ゲームにはさらに多くの機能があります)。これらは1文字のフラグになります。 [D] eathtouch:任意の量のダメージ(X> 0)は致命的と見なされます。 [F] irst Strike:最初にダメージを与え、攻撃する前に他のクリーチャーを殺すことができます。両方のクリーチャーに先制攻撃がある場合、通常どおり戦闘を解決します。 [I] ndestructible:Deathtouchを含め、致命的と見なされるダメージはありません。 出力: 次の4つのケースのそれぞれの一貫した値。答えに4つの値を明記してください。括弧内の戻り値の例: どちらのクリーチャーも死亡しなかった(0) 最初のクリーチャーが死亡した(1) 2番目のクリーチャーが死亡した(2) 両方のクリーチャーが死亡しました(3) ルール: 入力には、正しくフォーマットされた2つのクリーチャーが存在することが保証されています。 能力にキャラクターを使用している場合、キャラクターが希望通りに注文されていると想定できますが、関連する場合は使用された注文を掲載します。 能力に数値/ビット文字列を使用している場合は、使用しているエンコーディングを投稿してください。例:111is D/F/I、7is D/F/Iなど クリーチャーが能力を持たない場合、それは、[P,T, ""]またはそれと同等の数を取ることができます 禁止されている標準的な抜け穴 これはコードゴルフなので、最短のコードが優先されます。 例: Input: …

10
リスクバトル:ダウンする
Riskでの戦闘のための2つのサイコロのリストを考えると、プログラムまたは機能は、各プレイヤーが失う軍隊の数を出力する必要があります。 バックグラウンド あなたはこれを読む必要はありません。それは単なる背景です。「タスク」の小見出しにスキップして、衰えずに続行します。 リスクのゲームでは、1人のプレイヤーが別のプレイヤーを攻撃できます(実際、これは勝つために必要です)。戦闘の結果は、サイコロの出目によって決まります。すべてのバトルは、各プレイヤーが最大で負けるサブバトルの連続として発生します2で軍隊のピースます。 サブバトルでは、ディフェンダーとアタッカーはそれぞれ、このチャレンジとは無関係の状況に基づいて数が異なる可能性のあるいくつかのサイコロを振ります。攻撃者の最も価値のあるダイスは、防御者の最も価値のあるダイスと比較されます。攻撃者のダイスが防御者のダイスよりも高い場合、防御者は1ピースを失います。それ以外の場合、攻撃者は1つのピースを失います。 次に、両方のプレイヤーが少なくとも2つのサイコロを持っている場合、2人のプレイヤーの2番目に高いサイコロが比較されます。繰り返しますが、攻撃者のダイスが防御者のダイスよりも高い場合、防御者は1ピースを失います。それ以外の場合、攻撃者は1つのピースを失います。 (防御側が同点を勝ち取ります。防御側と攻撃側の両方がをロールした4場合、攻撃側は駒を失います。) ウィキペディアの記事のこのサブバトルでは、攻撃者のサイコロは赤で、防御者のサイコロは白です。攻撃者のサイコロ4の最高値はであり、防御者のサイコロの最高値は3です。攻撃側の方が高かったため、防御側はピースを失います。二番目に高い3、攻撃者と2防御者です。攻撃者が再び高くなったため、防御者は別のピースを失います。したがって、このサブバトルでは、攻撃者はピースを失いませんし、防御者は2ピースを失います。 3番目に高い部分は比較されないことに注意してください。これは、ディフェンダーが1つのサブバトルで2つ以下のサイコロを持っているため、これまでに比較する3番目に高いピースがないためです。 仕事 リスクのサブバトルの攻撃者と防御者の両方の任意の便利な形式の未分類のサイコロ(1〜6の範囲の整数)を考慮して、各プレイヤーが失う軍隊の数を出力します。5つの可能性を示すさまざまな出力がある限り、出力は任意の便利な形式にすることができます。質問には、これらの異なる出力が何であるかを示す必要があります。 出力は次のように決定されます。開始とdef=0とatk=0。攻撃者のさいころのリストの最大値が、防御者のさいころのリストの最大値よりも大きい場合、増分しますdef。それ以外の場合、インクリメントしますatk。 サイコロの両方のリストの長さが少なくとも2である場合:攻撃者のサイコロのリストの2番目に大きい値がリストの2番目に大きい値よりも大きい場合、インクリメントしdef、そうでなければインクリメントするatk。 最後に、プログラムまたは関数は、次の5つの出力候補のそれぞれに対して一意の識別子を出力する必要があります。 ╔═══╦═══╗ ║atk║def║ ╠═══╬═══╣ ║ 1 ║ 0 ║ ║ 0 ║ 1 ║ ║ 2 ║ 0 ║ ║ 1 ║ 1 ║ ║ 0 ║ 2 ║ ╚═══╩═══╝ 例 防御者:[3, 2] 攻撃者:[2, 4, 1]防御3者の最大値と攻撃者の最大値はです4。4>3のでdef=1 、防御側の22番目は攻撃側の2番目です2。Not(2>2)、そうatk=1。出力は次のようになります[1,1]。 …

2
ツイート内のバイナリテトリス
最近(数年前)、プログラミング ウェブサイトで140バイトのテトリスの実装に関する話題がありました。... 小さいながらも、Tetrisの簡易バージョンであり、完全な実装ではないことがわかりました。コアロジック関数のみが140バイトのJavascriptに適合します。実際に実行するには、別の〜840文字のHTMLが必要です。 もっと良くできる! この課題は、「Binary Tetris」の完全なバージョンを可能な限り少ないツイートで実装することです。 バイナリテトリスルール: プログラムは、少なくとも5列と6行のセルを含む競技場を表示する必要があります。 フィールドのブロックとエッジが明確にマークされている限り、どのような表示方法を使用してもかまいません。 少なくとも2種類のブロックが必要です: #と##。###Lのような形状のブロックやアングルブロックなどの追加ブロックサポートは私に支持されます:Pとバイナリテトリスの最も完全なゲーム(元の機能や回転機能のような最もブロック)は、私の幸福と賞金50倍の賞金を獲得します。 新しいブロックが一番上の行のフィールドに追加され、1つのブロックセルが中央の列を占める必要があります。 ブロックは固定レートで最下行に向かって下降します。ブロックは、ユーザー入力なしでも下降する必要があります。 ブロックがフィールドの下部または下のブロックに触れると、落下が止まり、固定されます。新しいブロックが追加されます。 行のすべての列がブロックで満たされると、その行は空になり、上のすべての固定ブロックが1行ドロップダウンします。 プログラムはキー入力に応答する必要があります。次の機能を実行する3つの一意のキーが必要です 現在のブロックを1列左にシフト 現在のブロックを右に1列シフト 現在のブロックを1行下にシフト 各ツイートには140文字しか使用できません。ツイートに入れることができるマルチバイト文字の使用は許可されています。 ツイートに含めることができるルールは簡単です。ツイートできる場合は、使用できます。 解釈された言語は同じルールに従います。各セクションは仕様に従う必要があります。限り何も実行時エラーが発生しない(と残りはスペック以下有効である)として、あなたの答えは有効である ゴルフのルール: オリジナルの実装は、「tweetable」だったので、この課題は、同じことを必要とします。エントリーは、一連のツイート(140文字以下の行)として送信できる必要があります。 最初のツイートには、コンパイラ/インタープリターの名前、プログラムの名前、およびコマンドライン引数が含まれている必要があります ファイル「P0」として保存されます 次のN個のツイートには、プログラムを一連の行として含める必要があります。 各ツイートは、T <n>という名前のファイルに保存されます(nは1..N)。 各行は前の行に追加され、コンパイルまたは解釈されます。有効なオブジェクトファイルまたはプログラムを生成する必要があります。 プログラムは、最後の行が追加されるまで機能する必要はありません。 プログラムは次の方法で実行されます(疑似bash) interp,prog,args = split P0 /\s/ touch $prog for file in ./T* do cat $prog file > $prog $interp …

15
日本のマリオのタイトルをアメリカのタイトルに変換する
スーパーマリオシリーズのゲームの命名規則は非常に奇妙であり、地域間で一致していません。 | Japanese Name | American Name | |---------------------|------------------------------------| | Super Mario Bros. | Super Mario Bros. | | Super Mario Bros. 2 | Super Mario Bros.: The Lost Levels | | Super Mario USA | Super Mario Bros. 2 | | Super Mario Bros. 3 | Super Mario Bros. …

1
Alphysの最新パズルの開発を支援してください!
地下の王立科学者アルフィスは、新しいパズルのプロトタイプを完成させました。しかし、彼女はそれをテストしてくれる人を見つけることができないようです。 彼女のパズルのルールは次のとおりです。 目標は、左側の中央のタイルから開始して右側に到達することです。高さが偶数のパズルの場合は、2つの中央のタイルの下から始めます。(例:インデックス0の4x4配列では、開始位置は[2,0]-行2、列0になります。インデックス0の5x5配列では、開始位置は[2,0]-行2、列になります0.) 各色のタイルには、独自の「サディスティック」機能があります。 ピンクと緑のタイル(「P」と「G」として表される)は何もしません 赤と黄色のタイル(「R」、「Y」)は通過できません。 オレンジ色のタイル(「O」)により、プレイヤーはオレンジのような香りがします。 紫色のタイル(「U」)は、プレーヤーを向いている方向の次のタイルに移動させ、レモンのような匂いを与えます。 青いタイル(「B」)は、プレイヤーがオレンジのような匂いがしない限り問題ありません。 フレーバーのメカニズムを明確にするために、プレイヤーの匂いは無期限に、または異なる香りのタイルで上書きされるまで持続します。つまり、プレイヤーがオレンジ色のタイルを踏むと、紫色のタイルを踏むまでオレンジの匂いがします。 さらに、青のタイルに垂直または水平に隣接して黄色のタイルを配置すると、青のタイルも通過できなくなります。 あなたのタスクは、入力としてパズルのレイアウトを表す2次元文字配列(または1D文字列配列、または他の有効な形式)を受け入れ、元のパズルと解かれたパズルの両方をアスタリスクなどで出力するプログラムまたは関数を書くことです正しいパスを示す他の文字。与えられたパズルは解けると仮定します。 このパズルを例として使用してください。 BGYBG PGPBG PUBPB OUGYB PPOPP プログラムは次を出力します。 BGYBG PGPBG PUBPB OUGYB PPOPP BGYBG PGPBG ***** OUGYB PPOPP 使用するパズルは、これを使用して生成する必要があります。 標準コードのゴルフ規則が適用されます。最良の回答は、各言語で最短になります。回答には、言語、バイト数、および3つのテストケースが含まれている必要があります。最初の2つは任意のレイアウトにすることができますが、3つ目は次のようにする必要があります。 RRRR RPPR PUOR RPBP

1
ここに住んでもいいですか?
ゲームTerrariaでは、ゲームメカニクスの1つにNPCが入居できるように家を建てることが含まれます。有効な家と見なされるかどうかについての厳しいルールセットがあります。ルールのリストは次のとおりです。 家の総面積は、少なくとも60平方タイルで、750未満でなければなりません。また、外枠を含む家のサイズは、少なくとも次のいずれかでなければなりません。 5x12 6x10 7x9 8x8 9x7 10x6 12x5 15x4 簡単にするために、次のことを安全に想定できます。a)すべての入力家は長方形であり、b)#家の中には固体のタイルはありません。こちらが12x6フレームです(美しいASCIIで描かれています): ############ # # # # # # # # ############ 家は背景の壁で覆われている必要があります。これらは固体のタイルではなく、三次元の家の後ろの壁です。穴は許可されますが、4x4より大きくすることはできません。行に5つ以上のスペース文字の行または列がある場合、これは4x4より大きい穴であり、家は無効です。複数の穴も許可されますが、少なくとも1つの壁が離れている必要があります。 ############ #**********# #**********# #**********# #**********# ############ ############ #* * # #* * # #* * # #****** # ############ (Still acceptable since neither hole is larger than 4x4 …
16 code-golf  string  game  grid 

4
Three Men's Morrisでさらに2つの動きで勝つことができますか?
報奨金 No. 1(授与) 最初の有効な回答には50人の担当者を投入します No. 2(授与) 最短の有効な回答を得るために、さらに100人の担当者を投入します。 No. 3(提出用にオープン) 有効な回答が大幅に短くなった最初の回答には200人の担当者を投入します。重要なのは、現在の最短回答の最大45%(564バイトx 0.45 = 最大254バイト)です。 ゲーム 古典的なゲーム「Nine Men's Morris」または単に「Mill」を覚えていますか?Three Men's Morrisと呼ばれるバリエーションがあり、これは変更可能な三目並べのようなものです。 ルール これはゲームのブランクボードです。 a b c 1 [ ]–[ ]–[ ] | \ | / | 2 [ ]–[ ]–[ ] | / | \ | 3 [ ]–[ ]–[ ] [ …

5
WythoffのNimを完璧にプレイする
あなたの目標は、Wythoff's Nimのゲームに最適なプレイヤーを書くことです。 ワイソフのニムのルール WythoffのNimは、2つの同じカウンターの山でプレイされる決定論的な2プレイヤーゲームです。プレイヤーは交互にターンし、次のいずれかを行います。 最初のパイルから1つ以上のカウンターを削除します 2番目のパイルから1つ以上のカウンターを削除します 最初のパイルと2番目のパイルの両方から、等しい数のカウンター(1つ以上)を削除します。 もちろん、パイルは負になることはできませんが、0にすることはできます。最後のカウンターをすべて削除したプレイヤーがゲームに勝ちます。 より幾何学的に考えるために、このアプレットでプレイできるゲームの同等の定式化を以下に示します。単一の女王は、コーナーが左下にある4分の1の無限チェス盤の正方形から始まります。プレイヤーは交互にクイーンを移動します。クイーンはチェスのクイーンのように移動しますが、3方向に制限されます。 ダウン 左 斜め下および左 クイーンをコーナーに移動する人が勝ちます。 クイーンの座標(コーナー(0,0))をそれぞれのパイルのサイズに関連付けると、両方のゲームが同じであることが簡単にわかります。 完璧なプレイ (完璧なプレーと勝利の動きの概念に精通している場合は、これをスキップできます。) WythoffのNimは有限で決定的なゲームであるため、完全なプレイという概念があります。完璧なプレーヤーとは、常に理論的に勝ったポジションから勝つ戦略です。つまり、勝利を保証する戦略が存在するポジションです。 勝利戦略となるには、移動したばかりのプレーヤーの理論上の勝利位置に常に移動するように移動するだけで十分です。これらの最初の勝利ポジション(コールドポジションとも呼ばれ(0,0), (1,2), (2,1), (3,5), (5,3)ます)はです。Wythoff's Nimの勝利戦略を見つけるアルゴリズムの説明と、勝利ポジションを生成する公式については、Wikipediaの記事を参照してください。 プログラム要件 プログラムや関数を書くと、入力として位置を取り、その動きの後の位置の形で勝ちの動きを出力します。最少バイトが勝ちます。 勝ち手が存在しない場合、つまりポジションが理論上の損失である場合、プログラムはその旨を示し、没収する必要があります。 プログラムは妥当な時間内に実行する必要があります。したがって、指数関数的再帰ゲームツリー検索では十分ではありません。戦略を事前に計算してハードコーディングしたい場合は、問題ありません。 入力 (i,j)杭のサイズを表す、それぞれ最大で1組の負でない数99。これは、2つの数字、タプル、リスト、または任意のコンテナにすることができます。 出力 移動後の位置を、再び2つの数字またはそのコンテナーとして印刷または出力します。これは勝ちのポジションへの合法的な動きでなければなりません。このような動きが複数ある場合、どれでも構いませんが、1つだけです。 勝つ動きがない場合は、出力でこれを示す必要があります。任意の出力は次のようにFalse、None0、または(-1,-1)それは法的な位置ではありません、すべて負け入力のための同じである限り、行います。 実行例 f(5,0) = (0,0) f(2,2) = (1,2) # Or (2,1) or (0,0) f(1,2) = False f(13,9) = (13,8) …

2
Kingdom Builderのゲームを獲得する
ここで新しい形のコードゴルフを試したいです。ボーナスと同様に、チャレンジのすべての部分を完了する必要はありませんが、各回答には特定のサイズのサブセットを実装する必要があります(すべての回答に実装する必要があるコアがあります)。したがって、ゴルフに加えて、この課題には、うまく機能する一連の機能を選択することも含まれます。 ルール キングダムビルダーはボードゲームで、(先が尖った)ヘックスグリッドでプレイされます。ボードは4つの(ランダム化された)クアドラントで構成され、各クアドラントには10​​x10の16進数セルがあります(したがって、ボード全体は20x20になります)。この課題のために、各ヘックスセルには水(W)、山(M)、町(T)、城(C)、または空(.)が含まれています。したがって、象限は次のようになります . . W . . . . . . . . M W W . . . . . . . M . . W . . . T . M M . W . . . . . . . . M . W W . …

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