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

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

7
Bejeweled / match 3ゲームに動きがあるかどうかを判断する
バックグラウンド 宝石をちりばめたようなゲームでは、プレイヤーは同じ色の3つを連続して一致させるために、8x8の宝石の隣接する2つの宝石を交換する必要があります。宝石は、水平または垂直に一致させることができます。ゲームプレイは動きがなくなるまで続けられ、その結果、3回連続でゲームが終了します。 仕事 目標は、宝石をちりばめたゲームがまだ終わっていないかどうかを判断するプログラムを書くことです。言い換えれば、少なくとも3つ連続して移動する可能性があるかどうかを確認する必要があります。連続して3つ以上の宝石が存在する可能性がありますが、それでも有効な動きです。 入力 プログラムは、標準入力を介してBejeweledグリッドの8x8表現を受け入れる必要があります。7つの宝石の色はそれぞれ、1〜7の数字で表されます。各行には1行が含まれ、それぞれ8桁で構成される8行が入力されます。例を参照してください。入力は常にこの形式に従い、3行連続して入力されることは決してないと想定できます。 出力 プログラムは、次いで、必要があります(標準出力に)出力yes又はno少なくとも一つの有効な動きは、その行に3つ以上の宝石をもたらす存在するか否かに応じ。プログラムは、yesまたはのいずれかの単一のインスタンス以外を出力してはなりませんno。 ルール プログラムは外部ファイルやリソース、コマンドライン引数を使用したり、特定のファイル名を要求したりしてはいけません。ソースコードのバイト数が最も少ないプログラムが優先されます。 例 入力: 12314131 13224145 54762673 61716653 61341144 23453774 27645426 75575656 出力: yes 入力: 35261546 76421754 15743271 62135642 35617653 64565476 54427254 15635465 出力: no 追加のテストケースについては、以下のMT0の回答を参照してください。
20 code-golf  game  grid 

13
ブルートフォース数独ソルバーを実装する
推測を使用して最短の数独ソルバーを実装します。いくつかのリクエストを受け取ったので、ブルートフォースの数独ソルバーを実装したい人のための代替の質問としてこれを追加しました。 数独パズル: | 1 2 3 | 4 5 6 | 7 8 9 -+----------------------- A| 3 | 1 | B| 6 | | 5 C| 5 | | 9 8 3 -+----------------------- D| 8 | 6 | 3 2 E| | 5 | F| 9 3 | 8 | …

27
*の通訳を書く
タスクは簡単です。言語*のインタープリターを作成します。 wikiへのより大きなリンクがあります。 有効なプログラムは3つだけです: * 「Hello World」を印刷します * 0〜2,147,483,647の乱数を出力します *+* 永遠に実行します。 3番目のケースは、この質問の仕様に従った無限ループでなければなりません 入力: 入力は、標準のI / Oルールで受け入れ可能な任意の入力方法で取得できます。 上記のプログラムのいずれかになります 出力: 最初のケースではHello World、末尾の改行の有無にかかわらず、正確に印刷する必要があります。 2番目の場合、言語の整数の最大値が2,147,483,647より小さい場合は、言語の整数の最大値を使用します 最初と2番目のケースは、標準のI / Oルールで受け入れ可能な出力に出力できます。 3番目のケースでは、出力は行われません。 得点: これはcode-golfであるため、バイト単位の最短回答が勝ちです。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

19
三角法プログラムを有効にする
Triangularityは、Xcoder氏によって開発された新しいエソランであり、コード構造は非常に具体的なパターンに従う必要があります。 nコードのth行について2n-1は、プログラムの正確な文字がその上になければなりません。これにより、最初の行は1文字のみで、残りは2ずつ増加する三角形/ピラミッドの形状になります。 各行の.左右にsを埋め込み、文字が行の中央に配置され、すべての行が同じ長さで埋め込まれるようにする必要があります。lがプログラムの行数として定義されている場合、プログラムの各行の長さは2 * l - 1 たとえば、左側のプログラムは有効ですが、右側のプログラムは無効です。 Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 有効な構造にレイアウトすると、名前が明らかになります。 仕事 あなたの仕事は、三角コードを表す単一行の文字列を入力として受け取り、それを上記のように有効なコードに変換して出力することです。 I / Oの仕様: 入力には、範囲内の文字のみが含まれます 0x20 - 0x7e 入力の長さは常に二乗数であるため、うまくパディング可能です。 出力パディングには、他のものではなくドットを使用する必要があります。 受け入れ可能な任意の方法で入力および出力できます。これはコードゴルフなので、バイト単位の最短コードが勝ちです! テストケース input ---- output g ---- g PcSa ---- .P. cSa DfJ0vCq7G ---- …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

5
これは負けた広場ですか?
チェス盤でプレイされるGet Homeというゲームがあります。このゲームでは、両方のプレイヤーが順番に動かす単一のピースがあります。ピースの移動方法にはいくつかのルールがあります。ターンでは、プレイヤーは正のnに対して次のいずれかの動きをしなければなりません。 n個のスペース 左側にn個のスペース n間隔で左上(対角線) ボードの左上隅にピースを移動したプレイヤーがゲームに勝ちます。 次に、負けた正方形の概念を定義します。で、このビデオ(私はアイデアを得たところから)負け広場は、自分のターンを開始する任意のプレイヤーは自分の対戦相手が勝利を強制できるように行動を起こすことを余儀なくされる上の正方形として定義されます。負けた正方形の最も単純な例は、(1,2)の正方形です。(1,2)のピースは、次のいずれかの場所に移動できます。 これらはすべて、次のプレーヤーの勝利への直接の道を持っています。 また、負けたマスへの移動パスが1つあるマスは、そのマスから開始するプレイヤーが勝ちを勝ち取ることができます。これは、負けた正方形から1つ離れていない正方形も負けた正方形であることを意味します。 これにより、負けた正方形のこのかなりきちんとした定義に導かれます。 負けたマスとは、他の負けたマスに移動できないマスであり、(0,0)は負けたマスです。 仕事 任意のサイズのチェス盤上の正方形の座標を考えると、それが負けた正方形かどうかを判断します。2つの値を出力します。1つは正方形を失い、もう1つは他の正方形を失います。 これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数が少ない方が優れています。 テストケース これは、通常の8 x 8チェス盤(0でマーク)の負けたマスです。 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 …

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 

22
アルファベットピラミッドを構築する
今日は、文字からピラミッドを構築します!最初の5文字の文字ピラミッドの例を次に示します。 最初の5文字を​​、間にスペースを入れて、最初に昇順、次に降順で書きます。 A B C D E D C B A 上記の行の最初の4文字についても同じことを行いますが、先頭に2つのスペースを追加します。 A B C D C B A A B C D E D C B A 最後の行が「A」になるまで同じ手順を繰り返します A A B A A B C B A A B C D C B A A B C D E …

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, …

1
Connect 4の勝者を決定する
部分的に塗りつぶされたConnect 4グリッド(7x6)が表示されます。 O X O X X O X O O X O X O X X O X X X O O X O O O X X O X (入力は1Dまたは2D配列として、また文字または数字などとして与えることができます。) と仮定する Xがゲームを開始しました。 誰もまだ勝ちません。 プレイヤーは今までうまくプレイできなかったかもしれませんが、今後は両方とも最適な戦略を採用します。 入力グリッドに問題はありません。 どのプレイヤーが勝つ(または引き分け)を示す単一の値を出力する必要があります コードゴルフチャレンジ; 最短のコードが優先されます。プログラムは、妥当な時間で実際に出力を計算する必要はありませんが、有限の時間で出力が正しく取得されることを証明できるはずです。

2
Koopaシェルシーケンス
さまざまなスーパーマリオゲームで、緑と赤の Koopa Troopaシェルは、平らな表面で摩擦なくスライドし、途中にあるレンガブロックを破壊できます。シェルがレンガブロックに当たると、ブロックが壊れて空のスペースに変わり、Koopaシェルは方向を反転します。例として、こちらの赤いシェルをご覧ください。 スーパーマリオのレベルが1ブロックだけで、すべてのグリッドセルがレンガまたは空のスペースであると仮定します。ただし、右に移動するシェルを含む一番左のセルを除きます。レベルも周期的であるため、シェルがレベルの右端または左端を出ると、反対側から再び入ります。この状況では、シェルはレベル内のすべてのブリックブロックから跳ね返り、それがなくなるまで継続します。最後のレンガブロックが壊れた直後に、シェルはどこまで移動しましたか? チャレンジ 負でない10進整数を取り込むプログラムまたは関数を作成します。この数値は、先行ゼロなしでバイナリで表現され(唯一の例外は0自体です)、1ブロックの高レベルレイアウトをエンコードします。A 1はレンガブロックで、a 0は空のスペースです。 Koopa Shellはレベルの左端に挿入され、最初は右に移動しています。たとえば、入力に関連付けられているレベル39は >100111 なぜなら100111バイナリで39であり、>そして<右表し、それぞれのシェルを動かす左。 最後のブロック(別名1)が壊れたら、シェルが移動した合計距離を印刷するか返す必要があります。 39is の出力と7レベルの変更は次のようになります。 Level Cumulative Distance >100111 0 <000111 0 >000110 0 0>00110 1 00>0110 2 000>110 3 000<010 3 00<0010 4 0<00010 5 <000010 6 000001< 7 000000> 7 <-- output 同様に、の出力6は1次のとおりです。 Level Cumulative Distance >110 0 …

13
シェルピンスキー層
はじめに、そのような下に線を追加することにより、パターンのようなシェルピンスキーの三角形/\を作成することができます... ゆるい枝/または\2つの枝に再び分割されます/\。 ブランチの衝突は、その\/下に何も(スペースはありません)死んでしまいます。 これらの規則を繰り返すと、 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHartによるインスピレーション) 正の整数Nを取り込んで、このパターンの最初のN行をstdoutに出力するプログラムまたは関数を作成します。必要以上に先行または後続のスペースはありません。 たとえば、入力が1出力の場合、 /\ 入力が2出力の場合 /\ /\/\ 入力が8出力の場合 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等々。 最小バイトのコードが優先されます。

2
首謀者の戦略
私は、Mastermindのコードゴルフチャレンジしか見つけることができなかったので、ここに、自分が挑戦したいコードチャレンジバージョンを示します。 通常の首謀者ゲームの最適な戦略であるMM(4,6)は、1993年に小山とライによって発見され、平均推測数= 5625/1296〜4.34でした。MM(5,8)はまだ解決されていませんが、推測の平均数は5.5であると推定されます。 あなたの仕事は、MM(5,8)戦略を作成することです。これは、5つの穴と8つの色に対応し、すべてのpow(8,5) = 32768可能な個別のソリューションをカバーします。明らかに、最適なものである必要はありません。次の2つの選択肢があります。 戦略を生成する決定論的プログラムを投稿します。このプログラムは、Windows 7、Mac OS X、またはLinux上で、フリーでないソフトウェアを追加せずにコンパイル/実行できる必要があります。 戦略を(StackExchange名とともに)インターネット上のどこかに公開し、ここにURLを投稿します。 どちらの場合も、回答のヘッダーにスコア(以下を参照)を明記してください。 戦略は、次の文法に従ってエンコードする必要があります。 strategy : guessing-strategy | known-solution-strategy guessing-strategy : '{' guess ':' branches '}' known-solution-strategy : guess guess : color color color color color color : 'A'..'H' branches : '{' branch (',' branch)* '}' branch : reply ':' strategy …

3
ああ!獣はHHHです!
IBM PC AT、YouTube(ビデオを参照)、Wikipedia(記事を参照)、およびSesame Street から学んだように: 手紙Hはアルファベットの中で最も容赦ない手紙です! (実際にコードページ437の 2つの要素で構成されている場合でも、実際にはそのように無慈悲です。) エイリアンのように、ええと... エイリアン、ビーストはたまらなく卵の近くに来る人すべてを執pursueに追い求めます。彼らには理由はありません。滅びないようにするには、それらをつぶさなければなりません。 このシナリオでは、あなたはあなたの最後の生命まで落ちており、卵のない地形で平野の獣に会ったと仮定します(Wikipediaのスクリーンショットのように)。数字キーパッドはなく、直接上下左右に移動することしかできません...しかし、獣には明らかに1つがあり、ターン中に斜めに移動できます。 ビーストの選択肢の中からの移動の選択は、プレイヤーからの距離を最小にするものになります。距離が等しければ、タイブレークは左+上より右+下を優先して行われますが、明確にするための曖昧さ除去マトリックスは... 1 3 4 2 H 5 6 8 7 獣は眠ることはありませんが、幸いにもプレイヤーより少し遅いです。彼らは1ターンおきに移動します(2ターン目に交替を開始することにより、プレーヤーに有利なスタートを与えます)。移動が可能であれば、プレイヤーからさらに遠ざかるかに関係なく、移動する必要があります。 閉じた隙間に座っていた可動壁の列を移動すると、獣をつぶします。これらの普通の獣は、頭に2ポイントの価値があります。 入力 列と行でマップのサイズを示す整数のペア。 入力の行の行数。各列サイズは、固体壁(#)、可動壁(~)、獣(H)、プレイヤー(O)、またはスペースのみを含みます。 プレイヤーが移動しようとしたことを示すU、D、L、R、または単に待機するWの入力。ブロックされている可動壁を押し込もうとすることは合法的な入力であり、アクションを起こさないことに注意してください。 出力 aHHHH! 獣がプレイヤーを殺した場合...またはプレイヤーが獣を残さずに勝った場合は何もありません スコア (注:デバッグや娯楽のために、各ステップで状態を出力できるようにしたい場合がありますが、ここに投稿するには長すぎます。) 明確化 マップは、固体の壁で囲まれていることが保証されています。 誰が順番に移動するかは、結果にとって重要です。したがって、プレイヤーは常に最初に移動し、画面上を左から右にスイープしている場合、獣には最初のマップ位置に基づいた順序が与えられます。(行1の獣は行2の獣の前に移動し、同じ行の2つの獣は、列番号が最も小さいものが他方の前に移動します) 斜めに動く獣は、壁の間を絞る必要があるかどうかに関係なく、開いている隣接する斜めのスペースに移動できます。 プレイヤーは、もう一方の端にスペースまたは獣がある限り、任意の数の可動壁を一列に押すことができます。しかし、壁の間に固定されていない獣に壁の列を押し込もうとすると、獣は壁として扱われ、移動は許可されません。 ターン中の獣の移動の決定は、ターン開始時のプレイヤーの位置に基づきます。「プレーヤーまでの距離」の望ましい最適化は、「カラスが飛ぶように」計算によるものです。正方形の中心からプレーヤーの正方形の中心までを測定した場合と同じ結果が得られる近似は問題ありません。 優先順位の高いビーストがスポットを奪ったために、ビーストがそのターンで最初に好まれた動きをすることができない場合、その場所にとどまるのではなく、次の最良の選択をします(動きがまだ可能である場合)。 サンプルケース シンプルクラッシュ 入力 5 3 ##### #O~H# ##### R 出力 2 …
19 code-golf  game  maze 

5
2048ボットチャレンジ
私たちはされているクローニング、2048年の分析 2048が、なぜ我々はまだそれをプレイしていませんか?555バイトのJavaScriptスニペットを作成して2048を自動的に再生します。1時間後の最高スコアがカウントされます(以下のスコアリングを参照)。 セットアップ: 後藤2048と実行: a = new GameManager(4, KeyboardInputManager, HTMLActuator, LocalStorageManager); a ゲームを制御するオブジェクトです。 ルール: セットアップ後、コンソールから555バイトのjavascriptを実行してゲームを制御できます。ゲームのソースコードはここにあります(コメントを含む)。 ユーザーに可能なことだけを行う場合があります。 a.move(n) 4つの方向のいずれかでキーアクションをトリガーします。 0:上、1:右、2:下、3:左 a.restart() ゲームを再起動します。再起動は、ゲームの途中で許可されています。 ゲームの状態に関する情報はにありa.grid.cellsます。この情報は読み取り専用です いずれかの関数へのフックは許可されますが、その動作を変更することはできません(または他のデータを変更します) 移動は250msごとに1回のみ許可されます 例 開始するのは非常に簡単な例です。コメントなしで181バイトを入力します。 //bind into new tile function and change m(ove) variable when a tile was moved b = a.addRandomTile.bind(a); m = !1; a.addRandomTile = function() { …

29
Tictactoeで勝利を決める
コードゴルフをしましょう! 三目並べボードの状態を指定(例:) |x|x|o| |x|o|x| |o|o|x| ゲームがあるかどうかを判断しwin、A loseかcat。コードは、状態を指定してこれらのオプションのいずれかを出力する必要があります。上記のゲームは出力するはずですlose 明確にするために、勝ちとはx、連続する3 秒(対角、水平、垂直)として定義されます。負けは3 o秒連続で、catゲームは連続なしで3 秒です。 物事を面白くするには、状態の入力構造を決定する必要があります。それについて説明する必要があります。たとえばxxoxoxoox、上記の有効な状態では、各文字が左から右、上から下に読み取られます。[['x','x','o'],['x','o','x'],['o','o','x']]同様の方法で読み取られる多次元配列のゲームです。ながら0x1a9そのためヘクスである110101001適切な圧縮としてかもしれない仕事1のために操作することができるxのと0のために操作することができますo。 しかし、これらは単なるアイデアであり、あなたはあなた自身の多くを持っていると確信しています。 基本ルール: プログラムは、実行可能な状態を受け入れることができる必要があります。 入力の形式は、あらゆる状態を表すことができなければなりません。 「勝利の状態は、ボードから決定する必要があります」 完全なボードを想定 Win前にloseインスタンスの場合の「xxxoooxxx」 最小の文字数が勝つ
19 code-golf  game 

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