タグ付けされた質問 「card-games」

カードゲームを伴う挑戦のために。これには、ゲームのプレイ、ゲームの実装、および個々のメカニズムに関連する課題とゲームの分析(特定のイベントの確率の計算など)が含まれます。

8
ゴルフスコアラー
子供の頃、私はカードゲーム「ゴルフ」をよくプレイしていました。あなたの挑戦は、あなたがそれを受け入れることを選択した場合、ゴルフのハンドのスコアを計算することです。このカードゲームには9000を超えるバリエーションがあります1ので、プレイした覚えのあるルールに従っていきます。 ゲームのルール) あなたは6枚のカードでラウンドを終了し、できるだけ少ないポイントが必要です。 ジョーカーは使用されません。 エースと2はそれぞれ-1、-2ポイントの価値があります。 ジャックとキングはどちらも0ポイントの価値があります。 3から10のカードは額面価値があります。ただし、これらはペアリングするとキャンセルされます。たとえば、5は5ポイントの価値がありますが、2つの5はゼロの価値があります。3つの5は5ポイントの価値があり(最初の2つはペアリングされますが、3つ目はそうではありません)、4つの5は0の価値があります(2つのペアを作るため)。 クイーンズは15ポイントの価値があります。クイーンをキャンセルすることはできません。たとえば、クイーン2人は30ポイントの価値があります。 (チャレンジの)ルール 入力は整数の配列、または6つの個別の整数になります。あなたが好むもの。1はエースを表し、2〜10は2〜10を表し、ジャック、クイーン、キングは11、12、13を表します。出力は、上記のルールに従ったハンドのスコアです。すべての入力が有効であると安全に想定できます。たとえば、4回を超えて数字が表示されず、すべての数字がの範囲にあると仮定できます[1, 13]。入力と出力は任意の合理的な形式にすることができます。 テストIO: [11, 10, 3, 1, 2, 2] --> 8 [4, 5, 5, 3, 8, 7] --> 22 [2, 2, 2, 2, 1, 1] --> -10 (The lowest score possible) [12, 12, 12, 12, 10, 9] --> 79 (The highest …

27
月に何日?
月のテキスト表現(大文字と小文字を区別しないフルネームまたは3文字の略語)を指定すると、その月の日数を返します。 たとえば、december、DEC、およびdecすべての31を返す必要があります。 2月には28日または29日があります。 入力が正しい形式の1つの月であると想定します。

3
簡易カーニングを実装する
前書き カーニングとは、テキストの文字間の間隔を調整することを意味します。例として、Top次の3つのグリフで書かれた単語を考えます。 ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... グリフ間のギャップをドットで埋めて完了させることもできますが、ギャップはどうやら広すぎるように見えます。代わりに、グリフを左にスライドさせて、ほとんど触れないようにします。 #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... これはずっと良く見える!のバーがTの左の境界線の上にあることに注意してくださいo。この課題では、このような長方形のグリフに簡単なカーニングプログラムを実装することがタスクです。 カーニングプロセス 二長方形の2次元文字配列考える.と#同じ形状を。単純なカーニングプロセスでは、最初に1列の.sを挟んで配列を並べて配置します。次に、#右と左の配列のいくつか#が直交または斜めに隣接するまで、右の配列のそれぞれを左に1ステップ移動します。カーニングの結果は、隣接するを導入する前のステップ#です。あなたの仕事は、このプロセスを実装することです。 例を見てみましょう: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: ..###....#. …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

15
セミパリンドロームパズル
回文とは、それ自体が逆の言葉です。 今ではパリンドロームのように見えるかもしれないがそうではない単語がいくつかあります。たとえば、単語 はパリンドロームsheeshで sheeshはありません。その逆はhseehsどちらが異なるかを考えshてみましょう。しかし、単一の文字と考えると、逆はになりsheeshます。この種の単語をセミパリンドロームと呼びます。 具体的には、単語をいくつかのチャンクに分割して、チャンクの順序が逆になったときに元の単語が形成される場合、単語はセミパリンドロームです。(sheeshこれらのチャンクはsh e e sh)単語の両方の半分からの文字を含むチャンクも必要ありません(そうでない場合、すべての単語はセミパリンドロームになります)。たとえば、元の単語の両側の文字を含むチャンク()があるrearため、セミパリンドロームではありません。奇数の長さの単語の中心文字は単語のどちら側にもないと考えます。したがって、奇数の長さの単語の場合、中心文字は常に独自のチャンクになければなりません。r ea rea あなたの仕事は、正の整数のリストを取得し、それらがセミパリンドロームかどうかを判断することです。コードは、入力がセミパリンドロームの場合とそうでない場合の2つの一貫した等しくない値を出力する必要があります。ただし、コードのバイトシーケンスはセミパリンドロームそのものでなければなりません。 回答はバイト単位でスコアリングされ、バイト数が少ないほど優れています。 テストケース [] -> True [1] -> True [2,1,2] -> True [3,4,2,2,3,4] -> True [3,5,1,3,5] -> True [1,2,3,1] -> False [1,2,3,3,4,1] -> False [11,44,1,1] -> False [1,3,2,4,1,2,3] -> False より多くのテストケースを生成するプログラム。 恐ろしいことは、これらが一般化されたスマランダチェ回文に似ていることを指摘した。したがって、さらに読みたい場合は、1つの場所から始めてください。

10
最短の一意に識別する部分文字列
文字列のリストが与えられたら、各文字列を、空でない部分文字列の1つで置き換えます。これは、リスト内の他の文字列の部分文字列ではなく、できるだけ短くします。 例 リストを考えると["hello","hallo","hola"]、"hello"ただで置き換える必要があり"e"、この部分文字列がに含まれていないとして、"hallo"そして"hola"、それはできるだけ短くしています。"hallo"いずれかで置き換えることができる"ha"か、"al"と"hola"のいずれかによって"ho"、"ol"または"la"。 ルール 文字列は空ではなく、同じ大文字と小文字のアルファベットのみを含むと想定できます。 このような部分文字列はリスト内の各文字列に存在すると仮定できます。つまり、リスト内の文字列は他の文字列の部分文字列にはなりません。 入力と出力は任意の合理的な形式にすることができます。 これはcode-golfなので、選択した言語でできるだけ少ないバイトを使用するようにしてください。 テストケース ほとんどの場合、可能な出力は1つだけです。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 関連:最短識別サブストリング -同様のアイデアですが、より複雑なルールと扱いにくい形式です。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

15
幾何学的な挑戦
誰もがジオメトリを愛しています。では、なぜゴルフをコーディングしてみませんか?この課題には、文字や数字を取り入れ、それに応じた形を作ることが含まれます。 入力 入力はの形式になり(shapeIdentifier)(size)(inverter)ます。 しかし、shapeIdentifier、サイズ、およびインバーターは何ですか? 形状識別子は、*s で作成する形状のタイプの識別子です。形状識別子は次のとおりです。 s - 平方 t -三角形 サイズはの間1-20になり、それは図のサイズです。 インバーターは、形状が逆さまになるかどうかであり、a +またはaで示され-ます。注: s3-==(等しい)s3+正方形は対称であるため。ただし、t5-!=(等しくない)t5+。 出力では末尾の空白は問題ありませんが、先頭の空白はそうではありません。 出力例 Input: s3+ Output: *** *** *** Input: t5+ Output: * *** ***** Input: t3- Output: *** * 特記事項 三角形の入力は常に奇数になるため、三角形は常に*上部が1 で終わります。 三角形のサイズは、インバーターの場合は底辺 +のサイズであり、インバーターの場合は上部のサイズです-。
23 code-golf  string  ascii-art  geometry  code-golf  ascii-art  subsequence  fewest-operations  test-battery  code-golf  array-manipulation  bitwise  code-golf  interactive  code-golf  music  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  simulation  code-golf  string  classification  code-golf  sequence  base-conversion  palindrome  code-golf  kolmogorov-complexity  code-golf  date  astronomy  code-golf  sequence  base-conversion  code-golf  geometry  combinatorics  code-golf  string  code-golf  math  array-manipulation  code-challenge  math  code-golf  card-games  code-challenge  array-manipulation  sorting  code-golf  code-golf  math  abstract-algebra  polynomials  code-golf  palindrome  factoring 

12
ハートのハンドを獲得する
ハーツは、4人のプレーヤーのためのトリックを取るカードゲームです。各トリックは、リーディングスーツの最高のカードをプレイしたプレーヤーによって行われます。各ハンドの終わりに、プレーヤーは自分が取ったペナルティカードに応じてペナルティスコアを負います。タスクは、Microsoft Heartsルールの下でスコアを決定することです。 入力 入力は、4人のプレーヤーのそれぞれが取ったペナルティカードを示す4つのリスト(または区切り文字列、配列など)です。ペナルティカードは 2♥, 3♥, 4♥, 5♥, 6♥, 7♥, 8♥, 9♥, 10♥, J♥, Q♥, K♥, A♥, Q♠ 私たちは 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 0 それぞれ。 出力 出力は、4人のプレーヤー(リスト、文字列、配列など)が被った4つのペナルティポイントです。スコアリングは次のとおりです。 各ハート(♥、両端1を13含む整数で表される)には1ポイントが発生します スペードの女王(Q♠、で表される0)には13ポイントがかかります 例外:プレーヤーがすべてのペナルティカードを獲得した場合(月の射撃と呼ばれる)、彼は0ポイントを被り、他のすべてのプレーヤーは26ポイントを被ります。 テストケース [2, 8, 7, 1], [3, 4], [], [9, 5, 6, …

2
呪文を唱えられますか?
マジック:ザギャザリングでは、メイジ(「プレインズウォーカー」として知られる)は呪文を唱えることによって互いに戦います。呪文のコストはマナです。マナには、白、青、黒、赤、緑の5色があり、それぞれ{W}、{U}、{B}、{R}、{G}として表されます。 呪文のコストはやや複雑です。コストは、次の任意の組み合わせにすることができます。 1つまたは複数の色 {X}として表される1つ以上の無色、Xは正の整数 {Y / Z}で表される1つ以上のハイブリッド。YとZは色(5文字のいずれかで表される)または無色で、正の整数で表されます。 呪文を唱えようとするとき、次の規則が適用されます。 コスト内の色は、その色の1マナで満たされる必要があります 無色のコスト{X}は、どの色のXマナでも満たすことができます ハイブリッドコスト{Y / Z}は、YまたはZのいずれかを満たすことで満たされます。 ブレースはネストされないことに注意してください YとZはハイブリッドではありません マナのプールとコストが与えられると、そのプール内のマナがコストを満たすことができる場合にのみtrue(または何らかの真理値)を出力または返すプログラムまたは関数を作成します。 マナプールは、次の形式の空でない文字列です。 Color1,Color2,Color3,...,Colorn-1,Colorn コストは、次の形式の空でない文字列です。 Cost1,Cost2,Cost3,...,Costn-1,Costn 例 フォーマットPool Cost -> ExpectedOutput(プールとコストの間にスペースがあります): {R},{R},{G},{B},{R} {4},{R} -> True {G},{G},{G},{G},{W},{W},{W} {2/W},{2/U},{2/B},{2/R},{2/G} -> False {G},{G},{R} {R/G},{G/B},{B/R} -> True {R},{R},{R},{G} {1},{G},{2/G}-> True {R} {R},{R},{R},{R},{R} -> False {W},{R},{R} {2/W},{W/B} -> True {U},{U} {1} …

10
そのリストにはいくつのブラックジャックシーケンスがありますか?
あなたの仕事は、12枚のカードの順序付けられたリストでいくつの異なるブラックジャックシーケンスが見つかるかを見つけることです。 ブラックジャックシーケンスは、ポイントの合計が正確に21である連続したカードのシーケンスとして定義されます。ポイントは、次の表に従ってカウントされます。 Symbol | Name | Points Symbol | Name | Points -------+-------+-------- -------+-------+-------- 2 | Two | 2 9 | Nine | 9 3 | Three | 3 T | Ten | 10 4 | Four | 4 J | Jack | 10 5 | Five | 5 Q …

9
カードゲームの手のパターン
カードのデッキは、SスーツとRランクのデカルト積です。すべてではありませんが、多くのカードゲームがとを使用S=4していR∊{6,8,13}ます。Hカードの手はデッキから配られます。その分布(別名「ハンドパターン」)は、各スーツから獲得したカードの数を記述する配列で、スーツの順序を無視します(つまり、マルチセットのようなものです)。分布を考えるとD満足len(D)=S、1≤sum(D)=H≤S×R、0≤D[i]≤R、D[i]≥D[i+1]、それが発生する確率を見つけます。 入力:整数Rと配列D。 出力:小数点以下5桁以上の確率。末尾のゼロはスキップされます。科学表記は大丈夫です。 抜け穴は禁止されています。最短勝。 テスト: R D probability 13 4 4 3 2 -> 0.2155117564516334148528314355068773 13 5 3 3 2 -> 0.1551684646451760586940386335649517 13 9 3 1 0 -> 0.0001004716813294328274372174524508 13 13 0 0 0 -> 0.0000000000062990780897964308603403 8 3 2 2 1 -> 0.4007096203759162602321667950144035 8 4 2 1 1 -> 0.1431105787056843786543452839337155 …


14
シャッフルですか?
昨日、リフルシャッフルについてこの質問をしました。昨日の質問は少し難しすぎたようですので、この質問は関連しているものの、はるかに簡単なタスクです。 今日、あなたは順列が実際にリフルシャッフルであるかどうかを判断するように求められます。リフルシャッフルの定義は、最後の質問から変更されています。 シャッフルの最初の部分は分割です。分割では、カードのデッキを2つに分割します。2つのサブセクションは連続的で、相互に排他的かつ網羅的でなければなりません。現実の世界では、パーティションをできるだけ均等にしたいと考えていますが、この課題ではこれは考慮事項ではありません。縮退している(1つのパーティションが空である)パーティションを含むすべてのパーティションは等しく考慮されます。 それらが分割された後、カードは、それらがメンバーであるパー​​ティション内で相対的な順序を維持するような方法で一緒に接続されます。たとえば、カードAがデッキのカードBの前にあり、カードAとBが同じパーティションにある場合、カードAが最終結果のカードBの前にある必要があります。場合はAとBが異なるパーティションにある、彼らは最終的な結果に関係なく、自分の順番の、任意の順序にすることができます。 各リフルシャッフルは、カードの元のデッキの順列として見ることができます。たとえば、順列 1,2,3 -> 1,3,2 リフルシャッフルです。このようにデッキを分割すると 1, 2 | 3 のすべてのカード1,3,2は、パーティション内の他のすべてのカードと同じ相対的な順序を持っていることがわかります。 2まだ後1です。 一方、次の順列はリフルシャッフルではありません。 1,2,3 -> 3,2,1 これは、2つの(重要な)パーティションすべてに対して 1, 2 | 3 1 | 2, 3 相対的な順序を維持しないカードのペアがあります。最初のパーティション1で2順序を変更し、2番目のパーティション2で3順序を変更します。 仕事 合理的な方法で順列が与えられた場合、それが有効なリフルシャッフルを表すかどうかを判断します。「はい、これはリフルシャッフルです」と「いいえ、これはリフルシャッフルではありません」の2つの異なる定数値を出力する必要があります。 これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数が少ない方が優れています。 テストケース 1,3,2 -> True 3,2,1 -> False 3,1,2,4 -> True 2,3,4,1 -> True 4,3,2,1 -> False 1,2,3,4,5 -> …

8
逆挿入ソート
目的 挿入ソートの動きから、元のスクランブルリストを生成しますするします。元のリストからすべての数字を持っているだろう0にN-1(包括的)N入力の大きさです。 入力 リストをソートするために必要な移動を含むリスト。各値は、元の(スクランブルされた)番号によって正しい位置に移動するスロットの量を表します。このプロセスは左から右であることに注意してください。入力リストの (0からインデックス付けされた)位置の値は、両端の値を含みます。 無効な入力を処理する必要はありません。この場合、どのような動作も許容されます(クラッシュ、無限ループなど)。i0i 出力 スクランブルリスト 動きを生成するためのステップバイステップ Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 is …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

4
戦争ゲームの勝者を決定する
カードゲームの戦争は、カードがプレイフィールドからピックアップされてデッキに移動される順序について特定のルールに従う限り、最終結果がデッキの初期配置によって完全に決定されるという点で興味深いです。この課題では、2人のプレイヤーのみが存在し、物事を大幅に簡素化します。 ゲーム 各プレイヤーには26枚のカードが配られます。 各プレイヤーはデッキの一番上にあるカードを表向きに置きます。上位のカード(Ace > King > Queen > Jack > 10 > 9 > 8 > 7 > 6 > 5 > 4 > 3 > 2)を持つプレイヤーがラウンドに勝ち、相手のカードの上にカードを置き、裏返して、デッキの一番下に追加します(勝ったカードはデッキの一番下になります) 、他のプレイヤーの負けているカードはそのすぐ上にあります)。これは、プレイヤーの一人がカードを使い果たすまで行われます。 カードのランクが等しい場合、各プレイヤーは自分のデッキの一番上から2枚のカードを前のカードの上に表向きに配置します(そのため、デッキの上にあったカードはスタックの2枚目のカードになり、上から2番目のカードが上にあります)。次に、(各スタックの一番上のカードの)ランクが再び比較され、勝者は敗者のスタック全体の上にスタック全体を置き、スタックを上下逆にして、デッキの一番下に置きます。別のタイがある場合、勝者が選択されるか、1人のプレイヤーがカードを使い果たすまで、同じ方法でより多くのカードがプレイされます。 いずれかのプレイヤーがデッキからカードを引く必要があるが、デッキが空の場合、すぐにゲームに負けます。 チャレンジ プレイヤーのデッキにある2種類のカードのリストを便利な形式で指定すると、プレイヤー1が勝った場合は真実の値を、プレイヤー2が勝った場合は偽の値を出力します。 便宜上、10枚のカードはで表され、すべてのカードの長さが1文字にTなるように、顔カードは省略されます(Ace -> A, King -> K, Queen -> Q, Jack -> J)。あるいは、ランクは10進整数2〜14(Jack -> 11, Queen -> 12, …

9
スペードトリックの勝者
Spadesのゲームで4枚のカードトリックで勝つ人を決定するコードを記述します。少ないバイトが勝ちます。 入力は、TH QC JH 2H(Ten of Hearts、Queen of Clubs、Jack of Hearts、Two of Hearts)のように順番に再生される4枚のカードをリストする文字列です。カードは、スーツfrom CDHSと値fromの2つの文字で与えられます23456789TJQKA。入力が有効であり、カードが異なることが保証されます。 トリックの勝者には1、2、3、または4の数字を出力する必要があります。例TH QC JH 2Hでは、ハートのジャックがトリックに勝つため、3を出力する必要があります。 入力と出力は、記述されているとおりでなければなりませんが、末尾の改行はオプションです。 トリックに勝つためのスペードのルールは次のとおりです。勝ったカードは4つの最高のカードですが、いくつか注意点があります。スペードはトランプスーツであるため、スペードはスペード以外を上回ります。最初にプレイされたカードのスーツはリードスーツで、そのスーツまたはスペードのカードのみがトリックに勝つ資格があります。同じスーツのカードは、その値によって比較されます。値は、昇順で示され23456789TJQKAます。 テストケース: TH QC JH 2H 3 KC 5S QS 9C 3 QD 2D TD 5D 1 9S 5D AD QS 4 3D 4C 3H JH 1 9S 4S TS JS …

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