タグ付けされた質問 「ai-player」

1
最も少ないフリーセルソルバーを構築する
Freecellのゲームでは、エースからキングまでスーツに合わせて4つの基礎杭を構築し、交互に色を変えながら下向きに構築します。ただし、一度に作成できるカードは1つだけなので、シーケンス全体を移動するのに役立つ1つのカードを含むことができる4つの「フリーセル」が与えられます。アイデアは、あなたがゲームを解決するのを助けるために必要に応じて、自由なセルに個々のカードを織り込むことです。 あなたの仕事は、可能な限り少ない動きでこれらのゲームを解決するプログラムを構築することです。 プログラムは、入力として次の形式の52枚のカードのシーケンスを受け取ります。 2S 9H 10C 6H 4H 7S 2D QD KD QC 10S AC ... これは、次の順序で初期レイアウトで処理されます。 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 …

17
Flood Paint AIを作成する
Flood Paintのゲームでは、ゲームの目標は、ボード全体をできるだけ少ないターンで同じ色にすることです。 ゲームは次のようなボードから始まります。 3 3 5 4 1 3 4 1 5 5 1 3 4 1 1 5 2 1 6 5 2 3 4 3 3 4 3 4 4 4 5 5 5 4 1 4 6 2 5 3[3]1 1 6 6 5 5 1 2 …

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() { …

1
テトリス戦略
あなたの仕事は、スコアとコードサイズのバランスが取れたテトリス戦略を実装することです。 このバージョンのゲームでは、tetrominoesが回転し、上から20行10列のグリッドにドロップされます。落下中は、回転または水平方向への移動はできません。いつものように、ドロップされたピースは、グリッドの底に達するか、さらに下向きの動きがすでに占有されている正方形との衝突を引き起こすと停止します。 ときにn水平線が完全に埋まる、それらは同時に崩壊、グリッドが補充されたn上部に空行、およびスコアが2だけインクリメントされるN -1点。nそれぞれ1,3,7,15ポイントだ= 1,2,3,4。線が消えると、一部のブロックが空中に浮いたままになることがあります(「重力連鎖反応」はありません)。 現在のピースを希望する場所に表示する余地がない場合、グリッドはクリアされ、現在のピースは無視され、ゲームは次のピースを現在のものとして続行します。そのためのペナルティはありません。 ピースタイプのストリームを読み、それらを回転させる方法とドロップする場所を決定する必要があります。あなたが作品を見ることができます:次のピース(一つだけ)のための先読みが許可されているi+1に応答する前にi、しかし、あなたはの運命を決定している必要がありますiを見て前にi+2。入力の最後の部分を超える先読みは利用できません。 Tetrominoタイプとその回転は、次の表に従ってエンコードされます。 type 0 1 2 3 4 5 6 O I Z J L S T ┌────┬────┬────┬────┬────┬────┬────┐ rotation 0 │## │# │## │ # │# │ ## │### │ │## │# │ ## │ # │# │## │ # │ │ │# │ …

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

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 

3
かくれんぼをしましょう!
ユーザーは非表示になり、コンピューターはそれらを見つけようとします。 まず、プログラムはグリッドのサイズの入力を受け取ります。5x5、10x10、15x15など。グリッドは常に完全な正方形とは限りません。 グリッドはチェス盤のようなものです。 _______________________________ | | | | | | | A1 | | | | | A |_____|_____|_____|_____|_____| | | | | | | | | B2 | | | | B |_____|_____|_____|_____|_____| | | | | | | | | | C3 | | | C |_____|_____|_____|_____|_____| | …

1
MENACEを実装する
バックグラウンド MENACE(M achine E ducable Nは oughts A ND C rosses E ngine)1960年代に英国のコンピュータ科学者ドナルド・ミッチーが作成したゲームNoughtsと十字のための初歩的な浅いの機械学習アルゴリズムです。元々は304個のマッチボックスで実装され、各マッチボックスにはボードの位置がラベル付けされており、色付きのビーズが含まれています(9色のいずれかで、可能な動きを表します)。Michieは、ボード上の動きのあらゆる組み合わせに対して、これらの304個のマッチボックスで十分であると計算しました。 あなたの中のより数学的な人は、実際にはN&Cボード上​​にNoughts、Cross、Blanksの19,683の可能な組み合わせがあることに気付くかもしれません。しかし、彼はこの数を減らす方法を計算しました(アルゴリズムを高速化し、マッチボックスを減らす可能性が高い!)。最初に、彼は次のような可能性のない動きをすべて削除しました。 ------- |X|0|X| | |0| | |X|X| | ------- (2つのoughtと4つの十字架) 次に、彼は回転を補正しました。たとえば、マッチ箱にある場合: ------- | |0|0| |X| |X| | |0| | ------- 同じ箱を使って ------- | |X| | |0| |0| | |X|0| ------- したがって、前述の色付きビーズは絶対的な位置ではなく、相対的な位置を表しています。たとえば、赤いビーズが左上を意味すると言った場合、ボックスの上部の画像を見て、次のように表示します。 ------- | |0|0| |X| |X| | …

2
Xが3より大きく、XとYの間に少なくとも2つの差がある
私はいくつかのC ++をゴルフしようとしています。この条件を短くすることは可能ですか? X > 3 & X - Y > 1 (もちろん、空白の削除は別として。) だから、X少なくともです4がX >= Y + 2。 XおよびYは、[0,5]間隔の整数です。 ビット単位の数式を見つけようとしましたが、失敗しました。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

3
ゲームに最適なAIを構築する15
ゲーム15では、2人のプレイヤーが順番に1から9までの数字を選択します(どちらかのプレイヤーがすでに選択している数字を選択することはありません)。合計が15になる3つの数字を持っている場合、プレイヤーが勝利します。すべての数字が選択されており、いずれかのプレイヤーの合計が最大で15でない場合、ゲームは引き分けです。 あなたの仕事は、15のゲームの状態(好きな形で表されます)を取り、次に移動する番号を返す関数を構築することです。これは、AIとして機能し、別のプレイヤーとゲームをプレイします。あなたはポジションが正当であると仮定するかもしれません(どのプレイヤーも他のプレイヤーよりも多くの数を持っておらず、どのプレイヤーも合計で15になる3つの数をすでに持っていません)。 AIは完璧である必要があります。つまり、勝利のポジションが与えられた場合、AIは強制的に勝利を収める必要があり、負けのないポジション(対戦相手に勝利戦略がないポジション)が与えられた場合、そのAIは対戦相手に敗北ポジションを与える(15は解決済みゲームであるため可能です)。 最短のコードが優先されます。 (注:現在最も短い回答を受け入れ、より短い回答が表示された場合は変更します。)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.