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

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

30
この数値は-2の整数乗ですか?
数値が2のべき乗かどうかを判断する賢い方法があります。これはもはや興味深い問題ではないので、与えられた整数が-2の整数のべき乗かどうかを判断しましょう。例えば: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² ルール プログラムまたは関数を作成し、入力を受け取って出力を提供する標準的な方法を使用できます。 入力は単一の整数であり、整数が-2の整数乗である場合は出力が真実の値であり、それ以外の場合は偽の値である必要があります。他の出力(警告メッセージなど)は許可されません。 通常の整数オーバーフロールールが適用されます。ソリューションは、すべての整数がデフォルトで制限されていない仮想バージョン(または実際のバージョン)の任意の大きな整数で動作できる必要がありますが、実装によりプログラムが実際に失敗する場合それほど大きな整数をサポートしていなくても、ソリューションは無効になりません。 任意のプログラミング言語を使用できますが、これらの抜け穴はデフォルトでは禁止されています。 勝利条件 これは、コードとゴルフのコンテストです。(選択したエンコーディングで)バイト数が最も少ない答えが勝者です。

26
二乗言葉を作る
チャレンジ あなたの仕事は、与えられた文字列入力を取り、二乗形式で入力を出力するプログラムを作成することです。空の文字列は空の文字列を返す必要があります。 例 入力が与えられた場合: golf プログラムは以下を出力するはずです。 golf o l l o flog 入力: 123 出力: 123 2 2 321 入力: a 出力: a 入力: Hello, world! 出力(との間のスペースに注意してください-w-ギャップは単なる改行ではありません): Hello, world! e d l l l r o o , w w , o o r l l l d e !dlrow …

4
メタチックタックトーをプレイしましょう!
メタ三目並べのゲームをプレイしましょう! これは王様ですメタ三目並べのオブザトーナメントです。Meta tic-tac-toeのルールは次のとおりです。 三目並べの規則はすべて適用されます。 1つのマスターボードを作成するために9つのボードが配置されています。そのようです: 0|1|2 || 0|1|2 || 0|1|2 ----- || ----- || ----- 3|4|5 || 3|4|5 || 3|4|5 ----- || ----- || ----- 6|7|8 || 6|7|8 || 6|7|8 ======================== 0|1|2 || 0|1|2 || 0|1|2 ----- || ----- || ----- 3|4|5 || 3|4|5 || 3|4|5 ----- || ----- || …

4
Splix.io-キングオブザランド
あなたは、その支配下にある土地を増やしたいと思う進取の気性のある人です。これは非常に簡単です-現在の土地の外に出て、あなたの土地にループバックすると、そのループ内のすべてがあなたのものになります。しかし、キャッチがあります。他のドットが何らかの方法でループを見つけて交差すると、死にます。 まだ試していない場合は、Splix.ioにアクセスしてゲームを試してください。矢印キーを使用して、動きを制御します。 GIF クレジット:http : //splix.io/ 仕様 すべてのプレイヤーは、200x200ボード上のランダムな位置から始まります。(私はこれを変更する権利を留保します:)。可能な限り多くのポイントを集めるために、一定量の動きがあります。ポイントは以下によって集計されます: 殺したプレイヤーの数は300回 ラウンド終了時に所有する土地の量 これは、他の人があなたの土地を盗むことができるというポイントをもたらします。彼らがあなたの土地の一部と交差するループを開始した場合、彼らはそれを主張することができます。ラウンド中に死亡した場合、そのラウンドのすべてのポイントを失います。 各ラウンドには、ランダムに選択されたプレーヤーのグループ(最大5人のユニークなプレーヤー)がいます(変更される場合があります)。すべてのプレイヤーが同数のラウンドに参加します。ボットの最終スコアは、ゲームごとの平均スコアによって決まります。各ゲームは2000ターンで構成されています(変更される場合もあります)。すべてのボットは同時に動きます。 死亡例 頭突き 両方のプレイヤーが頭を突き合わせて死ぬ。これは、両方のプレーヤーが自分のスペースの端にいる場合でも、まだ当てはまります。 ただし、自分の土地にプレイヤーが1人しかいない場合、他のプレイヤーは死亡します。 ラインクロス この場合、紫色のプレイヤーのみが死亡します。 独自のラインを越えることはできません。 ボードを終了する プレイヤーがボードから退出しようとすると、死亡してすべてのポイントを失います。 撮影エリア プレイヤーは、トレイルがあるときにエリアをキャプチャし、自分の土地に再び入ります。 赤は2本の赤い線の間を塗りつぶします。プレーヤーが記入しない唯一のケースは、別のプレーヤーがループ内にいる場合です。明確にするために、これは自分が所有する土地だけでなく、他のプレイヤー自身がループにいるときにのみ適用されます。プレイヤーは他の人の土地を占領できます。プレイヤーがトレイルに囲まれたエリアを埋めることができない場合、トレイルは通常の土地に直接変換されます。他のプレイヤーの土地ループ内のプレイヤーが死亡した場合、そのループ内の領域は塗りつぶされます。プレイヤーが死亡するたびに、ボードは埋めることができるエリアを再検査されます。 コントローラーの詳細 コントローラーはこちらです。元のゲームと非常によく似ていますが、KotHおよび技術的な理由により適したものにするために、小さな変更が加えられています。@NathanMerrillのKotHCommライブラリを使用して構築されており、@ NathanMerrillの多大な支援も受けています。チャットルームのコントローラーで見つかったバグをお知らせください。KotHCommとの一貫性を保つため、コントローラー全体でEclipseコレクションを使用しましたが、ボットはJavaコレクションライブラリのみを使用して作成できます。 すべてがgithubリリースページの uberjarにパッケージ化されています。使用するには、ダウンロードしてプロジェクトに添付し、オートコンプリートに使用できるようにします(IntelliJの指示、Eclipse)。送信をテストするには、を使用してjarを実行しjava -jar SplixKoTH-all.jar -d path\to\submissions\folderます。にpath\to\submissions\folderという名前のサブフォラーがあることを確認し、javaそこにすべてのファイルを配置します。ボットでパッケージ名を使用しないでください(KotHCommでは可能ですが、もう少し面倒です)。すべてのオプションを表示するには、を使用します--help。すべてのボットをロードするには、を使用します--question-id 126815。 ボットを書く ボットの作成を開始するには、を拡張する必要がありますSplixPlayer。 Direction makeMove(ReadOnlyGame game, ReadOnlyBoard board) ここで、ボットにどの動きをさせるかを決定します。nullを返してはいけません。 HiddenPlayer getThisHidden() のHiddenPlayerバージョンを取得しthisます。ボットをボードと比較するのに便利です。 enum Direction 値 East (x …

30
ケーキカットコンテスト
私の17歳の誕生日で、あなたは私のパーティーに招待されています! そして、いつものように、パーティーがあります。 1つのケーキ... そして、あなたはそれをできるだけ多く必要とします。 これは公正なパーティーであるため、私たちはそれぞれ、私のケーキをどれだけ欲しいかを言い、最小量を言った人がそれを手に入れると言います。その後、ケーキがなくなるまで他の全員がこのプロセスを繰り返します。 チャレンジ の形式のコマンドライン引数を介した入力を指定するとtotal-degrees degrees-left total-people people-left、標準出力に出力されますinteger-bid-in-degrees。 あなたの入札が最低だった場合、その量のケーキを受け取り、ラウンドに出ます。 入札単価が最低ではなかった場合、ボットは残りのケーキに入札します。 最低入札価格が同じ場合、削除された人がランダムに選択されます。 ラウンドの終わりに、すべてのケーキがなくなるか、入札する人がいなくなると、最もケーキを持っている人が勝ちます! ラウンドの終わりに2人が同じサイズの最大のスライスを持っている場合、勝者は抽選からランダムに選ばれます。 ゲームプレイ 17ラウンドがあり、全体的な勝者は、全体で最も勝ったエントリになります。 引き分けの場合、勝者が明確になるまでラウンドが行われます。 毎日、現在のスコアを更新して、人々がエントリーをアップグレードできるようにします。 提出 エントリを次のように書く必要があります ボット名、言語 Insert Code Here 説明/ランダムなものはこちら エントリがこの方法でフォーマットされていない場合、コントローラはエントリを実行できません。エントリにこれが発生したことがわかった場合は、コメントで通知するか、回答を正しい形式に編集します。 エントリとファイルストレージ ボットはファイルを./data/ディレクトリに保存し、他の場所には保存しない場合があります。 必須ではありませんが、ファイルを次のように保存してください botname* botnameエントリ名でない場合、この形式でファイルを書き込むことはできません。 つまり、この形式では表示されない他のファイルを上書きできます。これを故意に行うべきではありません、スポーツをしてください。 ボットは、必要なファイルが存在すると想定してはなりませんが、./data/存在すると想定できます。 これは私がたまに拭くためである./dataディレクトリに、私はなりますラウンドが実際に起動したときにこれを行います。(しかし、それらの間ではありません) ボットはファイルをまったく削除しない可能性があります ボットは./data/ディレクトリ 内のファイルの読み取りのみ許可されています これは、他のエントリファイルを見ることを意味します 結果: Meekがコンテストで優勝しました!よくできました@ Cabbie407 そして今、いくつかのランダムな統計について: 各ボットが入った位置のリスト:(このリストに表示されているボットはすべて終了しました。少なくとも一度はトップ5にいました!) Meek、Meek、Eidetic、Eidetic、Meek、Eidetic、Eidetic、Meek、Meek、Meek、Saucy、Meek、Givemethecake、Givemethecake、Givemethecake、Meek、Eidetic Eidetic、Eidetic、Meek、AlCakeSurfer、Eidetic、AlCakeSurfer、Meek、MyFairPlusAThird、Eidetic、Eidetic、Eidetic、Eidetic、MyFairPlusAThird、MyFairPlusAThird、Meek、MyFairPlusAThird、AlCakeSurfer Reallythecake、AlCakeSurfer、AlCakeSurfer、Meek、AlCakeSurfer、Meek、AlCakeSurfer、AlCakeSurfer、Reallythecake、AlCakeSurfer、Meek、MyFairPlusAThird、Eidetic、Eidetic、Eidetic、Eidetic、Reallythecake AlCakeSurfer、Reallythecake、MyFairPlusAThird、MyFairPlusAThird、MyFairPlusAThird、MyFairPlusAThird、MyFairPlusAThird、Eidetic、AlCakeSurfer、MyFairPlusAThird、MyFairPlusAThird、Relinquisher、Relinquisher、Bill、Bill、Fillquirher ビル、MyFairPlusAThird、ビル、ビル、ビル、ビル、ビル、放棄者、放棄者、MyFairPlusAThird、放棄者、ビル、Reallythecake、ビル、ALittleOffTheTop、ALittleOffTheTop、ビル、ビル 実行中の彗星の完全なログファイルはここにあります。途中でフォーマットが変更されて申し訳ありません。 …

20
戦略的投票、ゲーム
単一勝者選挙の最も一般的な投票システムの1つは、複数投票方法です。簡単に言えば、投票数が最も多い候補者が勝ちます。しかし、複数の投票は数学的には不健全であり、有権者が本当に好む候補者とは対照的に、「2つの悪の少ない方」に投票するように駆り立てられる状況を作り出しがちです。 このゲームでは、複数投票システムを活用するプログラムを作成します。選挙で3人の候補者の1人に投票します。各候補者は、あなた自身の特定の見返りに関連付けられており、あなたの目標は、期待される見返りを最大化することです。 ペイオフはランダムに「均一に」分配され、選挙ごとに変更され、100に加算されます。候補者Aはペイオフ40、候補者Bはペイオフ27、候補者Cはペイオフ33を持ちます。 投票する番になると、情報が不完全になります。以下は、利用できる情報です。他のプレイヤーの個々のペイオフが何であるか分からないので、現在の投票結果を考慮して彼らがどのように投票するかを予測するのはあなたの挑戦です。 これまでの選挙の部分的な結果 まだ投票していない参加者(自分を除く)の数 各候補者の個人的な報酬 各候補者の合計グループペイオフ 各プレイヤーに投票の機会が与えられた後、最も投票数の多い候補者が複数の投票に従って勝ちます。各プレイヤーは、その候補者からのペイオフに対応するポイント数を受け取ります。票に同点がある場合、割り当てられるポイントの数は、同点の候補者の平均になります。 トーナメント構造 最初にインスタンス化されると、参加者にはトーナメントで行われた選挙の回数が通知されます。私は非常に多くの選挙を実施しようとします。その後、各選挙は1つずつ実施されます。 参加者がシャッフルされた後、それぞれに投票の順番が与えられます。彼らは上記の限られた情報を与えられ、彼らの投票を意味する数を返します。各選挙が終わると、各ボットに最終的な投票結果が与えられ、その選挙から得点が上がります。 勝利した参加者は、多数の選挙が行われた後、合計スコアが最も高い参加者になります。また、コントローラーは、そのスコアをランダム投票ボットについて予測されたスコア分布と比較することにより、各競技者の「正規化された」スコアを計算します。 提出の詳細 提出は、Java 8クラスの形式を取ります。 各参加者は、次のインターフェイスを実装する必要があります。 public interface Player { public String getName(); public int getVote(int [] voteCounts, int votersRemaining, int [] payoffs, int[] totalPayoffs); public void receiveResults(int[] voteCounts, double result); } コンストラクターはintパラメーターとして1つを取る必要があります。これは、行われる選挙の数を表します。 このgetName()メソッドは、リーダーボードで使用される名前を返します。これにより、適切に書式設定された名前を使用できます。 getVote(...)メソッドが返す0、1または2投票を受け取ることになりますどの候補意味します。 このreceiveResults(...)方法は、主に履歴データを使用するより複雑な戦略の存在を可能にすることです。 与えられた情報を記録および処理する他のメソッド/インスタンス変数を作成することができます。 トーナメントサイクル、拡張 参加者はそれぞれでインスタンス化されnew …

20
究極のサムライ対決
通知:この王様の挑戦は完了しました。これは、The ObserverのエントリでC5H8NNaO4に与えられた緑色のチェックマークが新しい回答に移動しないことを意味します。 まだ新しいエントリを送信できますが、新しいエントリを積極的にチェックしていないため、新しいトーナメントの実行が遅れる可能性があります。 前書き このチャレンジでは、アルティメットサムライショーダウンアルティメットエディションスペシャルバージョン2.0 Xアルファオメガターボ(略してアルティメットサムライショーダウン)というタイトルのアーケードゲームをプレイしています。相手は?Programming Puzzles&Code Golfの他のメンバー以外は誰もいません! PPCGアーケードゲームに期待されるように、Ultimate Samurai Showdownを直接プレイするのではなく、ゲームをプレイするプログラムを作成します。このプログラムは、他のユーザーが1対1の決闘で提出したプログラムと戦います。最も熟練したプログラムは、PPCGのUltimate Samuraiを冠し、伝説の緑のカチカチを与えられます。 ゲームの説明 このセクションでは、ゲームの背後にあるメカニズムについて説明します。 勝利条件 試合は 2から成る武士互いに相殺直面しています。各muraは20 ヒットポイントと1 名誉で各試合を始めます。対戦相手が死亡し、まだ生きている場合、saが勝ちます。サムライが死ぬには2つの方法があります。 サムライのヒットポイントが0になると、彼は死にます。 sa が自分の名誉を 0 未満にすると、決闘で不名誉な振る舞いをしたことで神に打たれます。 神に打たれることは、ヒットポイントを0に減らすことよりも優先されるため、1人の武士の体力が0で、もう1人の体力が-1の場合、体力が0の武士が勝ちます。両方のサムライが-1名誉である状況では、彼らは両方とも神に打たれ、ゲームは引き分けです。 マッチは最大500 ターンで構成されます。500ターンすべてがパスし、試合が決定されなかった場合(どちらのサムライも死亡しなかった場合)、神々は退屈して両方のサムライを打ち倒し、引き分けになります。 行動 各ターンで、サムライは次のアクションの1つを正確に実行する必要があります。 W サムライは待機し、アクションを実行しません。これにより、彼はクールに見えますが、相手を倒すことはできません。これもデフォルトのアクションです。 B サムライは、名誉ある方法で相手に頭を下げます。これは神を喜ばせ、したがってthusは1名誉を得るでしょう。名誉は基本的にこのゲームの「リソース」であるため、名誉はあなたのサムライの成功に不可欠です-名誉はすべて離れて移動しB、W名誉を低下させる可能性があります。また、サムライが7名以上の名誉を得た場合、神の剣の使用が許可されます。これの意味を以下に説明します。 ただし、相手がお辞儀をすると、相手が剣であなたを攻撃することに決めた場合、あなたは開いたままになりますので、お辞儀をするときは注意してください。 G サムライは防御的な位置に入り、剣の攻撃を防ぐものとする。この動きは、すべての剣のストライキ、神の剣で作られたものをもブロックします。 ただし、神は過度に防御的なサムライに眉をひそめるので、直前のターンのサムライのアクションも守っていた場合、この動きは1名誉を消費します。それ以外の場合は、Honorを消費しません。 I サムライは、鞘から刀を素早く引き抜いて相手を攻撃しようとします。サムライに7名以上の名誉がある場合、彼は通常の剣の代わりに神の剣を使用します。この動きは1名誉を消費します。 クイックドローは速いストライクで、遅いオーバーヘッドの攻撃に打ち勝ちますが、受け流しに対しては負けます。ストライクが正常に接続されると、Sword of the Godsで 1ダメージ、または2ダメージを与えます。 P サムライは、入ってくる攻撃を受け流そうとし、その後自分の攻撃を開始します。サムライに7名以上の名誉がある場合、彼は通常の剣の代わりに神の剣を使用します。この動きは1名誉を消費します。 この受け流しは速いストライキに対する優れた機動ですが、より遅いオーバーヘッド攻撃によって圧倒されます。ストライクが正常に接続されると、Sword of the Godsで …

22
基本的なASCIIタリー
代替タイトル:壁にあなたの刑務所の文を集計します numberを指定するとn、出力はグループごとに従来の5に、行ごとに50にグループ化されます。 例 1 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| |/|| |/|| …
36 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 

23
騒々しい反復囚人のジレンマ
この挑戦では、騒々しい反復囚人のジレンマをプレイします。 の 囚人のジレンマが協力し、または欠陥:2人の選手、二つの選択肢と、それぞれがあるゲーム理論ではシナリオです。各プレーヤーは、協力する場合よりも欠陥がある場合のほうが自分にとって有利ですが、両方のプレーヤーは、両方のプレーヤーが欠陥のあるものよりも両方のプレーヤーが協力する結果を好むでしょう。 繰り返される囚人のジレンマは同じゲームです。ただし、同じ対戦相手と繰り返し対戦し、対戦相手が過去に何をプレイしたかを知っています。あなたの目的は、対戦相手の行動に関係なく、常に自分で最高のスコアを獲得することです。 騒々しい反復囚人のジレンマは、コミュニケーションにノイズを導入します。対戦相手が過去に何をプレイしたかを知っていると、ノイズが発生します。また、過去にどのような動きをしたかもわかります。ノイズレートは同じ対戦相手に対するラウンドでは一定ですが、ラウンド間で異なります。 チャレンジ この課題では、騒々しい反復囚人のジレンマを再生するPython 3プログラムを作成します。 プログラムは3つの入力を受け取ります。 ランダムなフリップを適用せずに、独自の動き。 ランダムなフリップが適用された相手の動き。 状態変数。各ラウンドで空のリストとして開始され、必要に応じて変更できます。使用しない場合は、これを無視できます。 あなたのプログラムは'c'協力するか'd'、欠陥があるように出力すべきです。 たとえば、ランダムフリップが適用された後、最初の10フリップで、過去に少なくとも60%の時間、対戦相手が協力した場合に協力するプログラムを次に示します。 def threshold(my_plays, their_flipped_plays, state): if len(their_flipped_plays) < 10: return 'c' opp_c_freq = their_flipped_plays.count('c')/len(their_flipped_plays) if opp_c_freq > 0.6: return 'c' else: return 'd' Pythonがわからない場合は、提出物を擬似コードで書くと、誰か(私またはサイトの別のメンバー)が対応するPythonプログラムを作成できます。 ゲームプレイ トーナメントランナーは、noisy-gameにあります。実行noisy-game.pyしてトーナメントを実行します。そのリポジトリを新しいサブミッションで更新し続けます。サンプルプログラムはbasic.py。 プログラムの総合スコアは、ゲームの100回以上のプレイのスコアの合計です。 ゲームは、それ自体を含む各プレイヤーに対する各プレイヤーのラウンドロビン対戦で構成されます。対戦は100ラウンドで構成されます。ラウンドは300の動きで構成され、各動きには出力'c'または'd'。 あなたの提出物は、あなた自身のものを含むすべての提出物と対戦します。各対戦は100ラウンドで構成されます。各ラウンド中、フリップ確率はから一様にランダムに選択され[0, 0.5]ます。 各ラウンドは300手で構成されます。各動きで、両方のプログラムは、試行されたすべての以前の再生、フリップが適用された後、他のプログラムが行ったすべての以前の再生、および状態変数(プログラムが必要に応じて変更できる可変リスト)を受け取ります。プログラムは動きを出力します。 移動のスコアは次のとおりです。プログラムがを再生する'c'場合、相手のプログラムは2ポイントを獲得します。プログラムが再生される場合'd'、そのプログラムは1ポイントを獲得します。 次に、各手は、フリップ確率に等しい確率で独立してフリップされ、対戦相手に見せるために保存されます。 すべてのラウンドがプレイされた後、各プレイヤーが各対戦で獲得したポイント数を合計します。次に、次のスコアリングシステムを使用して、各プレーヤーのゲームのスコアを計算します。このスコアリングは、すべての対戦が完了した後に実行されます。 得点 進化スコアリングを使用します。各プログラムは同じ重みで始まります。次に、ゲームからのポイント合計を使用して、100回の反復に対して、次のように重みが更新されます。 各プログラムの新しいウェイトは、前のウェイトと平均ポイント合計の積に比例し、相手のウェイトで重み付けされます。 …

22
スノーボールファイトKoTH!
結果(2017年5月22日21:40:37 UTC) Master18ラウンドで勝ち、2ラウンドで負け、0ラウンド Save Oneで15ラウンドで勝ち、3ラウンドで負け、2ラウンド Machine Gunで14ラウンドで勝ち、3ラウンドで負け、3ラウンドで Monte Bot勝ち、14ラウンドで勝ち、3ラウンドで負け、3ラウンドで Amb Bot勝った12ラウンド、8ラウンド負け、タイ0ラウンド Cowardが11 ラウンド勝ち、3ラウンド負け、6ラウンド Pain in the Nashが11ラウンド勝ち、9ラウンド負け、タイ0ラウンド Nece Botが10ラウンド勝ち、7ラウンド負け、タイ3ラウンド Naming Things is Hardが10ラウンド勝ち、 7ラウンドを失い、3ラウンド The Procrastinatorで10 ラウンドを勝ち、8ラウンドで失い、2ラウンド Yggdrasilで10ラウンドを勝ち、10ラウンドを失い、0ラウンド Simple Botで9ラウンドを勝ち、4ラウンドを失い、7ラウンド Table Botで9ラウンドを勝ち、6を失ったラウンド、タイ5ラウンド Prioritized Random Botで8 ラウンド勝ち、7ラウンドで負け、5ラウンドでタイ Upper Hand Bot7ラウンドで勝ち、13ラウンドで敗れ、0ラウンド Aggressorで6ラウンドで勝ち、10ラウンドで敗れ、4ラウンド Insaneで5ラウンドで勝ち、15ラウンドで敗れ、0ラウンドで The Ugly Duckling勝ち、4ラウンドで勝ち、16ラウンドで敗れ、0ラウンドで Know Bot勝った3ラウンド、14ラウンドを失い、3ラウンドで Paranoid Bot勝った0ラウンド、19ラウンドを失い、1ラウンドで Panic Bot勝った0ラウンド、19ラウンドを失って、1ラウンドを獲得 …

9
文字列をひっかく
スナックされた文字列は次のようになります。 T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt あなたのタスク 文字列sとサイズをn取得し、スナックされた文字列を出力します。入力しThisIsAnExampleOfaSnakifiedString、3上記の例を生成します。 仕様書 s コードポイント33から126までのASCII文字のみが含まれます(スペースや改行は含まれません)。 s 長さは1〜100文字です。 n各出力文字列セグメントのサイズを表す整数です。「蛇」の曲線を構成する文字の各行(上/下または左/右)はn文字です。例については、テストケースを参照してください。 n 3〜10になります。 出力文字列は常に下向きになります。 各行の末尾のスペースは許可されます。 出力の最後にある末尾の改行も使用できます。 先行スペースは使用できません。 code-golfは、バイト単位の最短コードが勝つことを意味します。 テストケース a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf 4 …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

24
Stack Exchange Stock Exchange〜改訂[終了]
バックグラウンド あなたはすべて、評判の良い株式会社よりもわずかに少ないトレーダーです。あなたはすべて、特定の1つの銘柄のみに焦点を当てるトレーダーのグループの一員です。 1時間ごとに、各トレーダーはX株を購入するか、X株を売るチャンスがあります。ラウンドごとに50時間、競技ごとに3ラウンドがあります。すべてのラウンドの最後に、平均値が最も高いトレーダーがジャマイカへの旅行に勝ちます! ゲームプレイ それぞれ50ターンの3ラウンドがあります。 各トレーダーは、5000ドルと20〜30株の間のランダムな数の株でラウンドを開始します。株式の価格は10から150の間の乱数から始まります。 各トレーダーは、各トレーダーが購入できる株をいくつでも購入したり、現在保有している株を何株でも売ったりすることができます。 1株当たりの価格は、購入した各株式について1〜5の乱数で上昇し、売却した各株式について2〜6の乱数で下落します。最低価格は1ドルです。 すべてのトレーダーが取引を同時に処理することに注意することが重要です。つまり、トレーダーが株式を購入/売却しても、次のターンまで価格には影響しません。 3ラウンドの終了時に最高の平均値を持つプレイヤーが勝ちます。価値は、ラウンドの終わりに残った金額を取り、トレーダーが保有する株式数*終値を加算することによって決定されます。 引数 プログラムは、現在の市場価格、トレーダーの現在の金額、トレーダーが所有する株式数を受け取る各ターンの開始時に再実行されます。 例: 120 5000 0 出力 トレーダープログラムは、実行するアクションに対応する文字と、それに続く量を出力する必要があります。 例: B10 //Buy 10 shares または S3 //Sell 3 shares トレーダーには、何もしないというオプションもあります。これは、Wまたは「B> amnt <」または「S> amnt <」ではない他のコマンドを出力することで実現できます。 提出 あなたのプログラムは「players />あなたのプログラム名<」ディレクトリの中にあります: +-- players | +-- BotNameFolder | +-- BotProgram 「players」ディレクトリ内から実行するには、コマンドライン引数とともにコードを提供してください。たとえば、Test1トレーダーは次のように実行できます。java -cp "Test1" Test1 追加の規則 さあ、エモウルフ、Idcを撃ってください。 …

19
1P5:反復囚人のジレンマ
このタスクは、最初の定期的なプレミアプログラミングパズルプッシュの一部であり、新しいキングオブザヒルチャレンジタイプの提案のデモンストレーションを目的としています。 タスクは、繰り返しの囚人のジレンマを他の参加者よりもうまくプレイするプログラムを書くことです。 ほら、ヴィニー。私たちはあなたのセルメートを知っています---彼の名前は何ですか?ニッポ・アイルランド・ウクライナのギャング、ええ、マクウォンスキーは何かしらあなたが知っています。 ここで素敵になろうとしています、ヴィニー。あなたにチャンスを与えます。 彼が何を計画しているのかを教えていただければ、良い仕事が割り当てられます。 そして、もしあなたが... ゲームのルール コンテストは、一度に2人の競技者の完全なラウンドロビン(可能なすべてのペアリング)で構成されます(自己プレーを含む)。 各ペア間で100ラウンドプレイされます 各ラウンドでは、各プレイヤーは、他のプレイヤーの意図を知らずに、他のプレイヤーと協力するか裏切るかを選択するように求められますが、この対戦相手と対戦した前のラウンドの結果を記憶します。 組み合わせた選択に基づいて、各ラウンドでポイントが付与されます。両方のプレイヤーが協力すると、それぞれ2ポイントを獲得します。相互裏切りはそれぞれ1ポイントをもたらします。混合ケースでは、裏切りプレイヤーに4ポイントが付与され、協力者には1のペナルティが科せられます。 「オフィシャル」マッチは、投稿後10日以内に実行され、私が仕事に参加し、「受け入れられた」勝者を選択するために使用できるすべての提出物が含まれます。私はMac OS 10.5ボックスを持っているので、POSIXソリューションは動作するはずですが、動作しないLinuxismがあります。同様に、win32 APIのサポートもありません。私は物事をインストールする基本的な努力をするつもりですが、制限があります。私のシステムの制限は、受け入れ可能な応答の制限を表すものではなく、単に「公式」一致に含まれるものです。 プログラマーインターフェイス エントリは、コマンドラインから実行できるプログラムの形式である必要があります。決定は、標準出力上のプログラムの(唯一の)出力でなければなりません。この対戦相手との以前のラウンドの履歴は、コマンドライン引数として提示されます。 出力は、「c」(クラムアップ)または「t」(すべてを伝える)のいずれかです。 履歴は、以前のラウンドを表す文字の単一の文字列であり、最新のラウンドが文字列の中で最も早く来ています。キャラクターは 「K」(相互協力を意味する信仰を維持するため) 「R」(ラットb @ st @ rdの場合は売り切れました!) 「S」(吸盤用!裏切りの恩恵を受けたことを意味します) 「E」(誰もが相互裏切りでナンバーワンを探しているため) ブラケット 著者によって4人のプレイヤーが提供されます エンジェル-常に協力 悪魔-いつも話す TitForTat-最初のラウンドで協力し、常に最後のラウンドで行われたとおりに行います ランダム-50/50 これに、実行できるすべてのエントリを追加します。 合計スコアは、すべての対戦相手に対する合計スコアになります(1回だけのセルフプレイと平均スコアの使用を含む)。 応募者 (2011年5月2日現在7:00) 秘密の握手 | 対T42Tミサイル | 不信(バリアント) | アンチハンドシェイク | リトル・リスパー | 収束 | サメ …

15
町のゲーム
前書き ゲームはさまざまな町のある小さな世界で行われます。町の支配者はお互いを嫌い、世界を支配したいと考えています。人々は、戦士とローボーンの2つのグループに分かれています。ただし、ローボーンは戦士に育てることができます。あなたはこれらの3つの町の支配者です。 ゲームプレイ ゲームが始まると、3つの町を支配します。各町には100人がいます。それらを騎士とローボーンに分割する必要があります。 その後、実際のゲームが始まります。これはターンベースです。ターンは次のようになります:"Produce" knights=> execute command of first town=> execute command of next town(すべての町で繰り返し)=> try a rebellion。 ターンごとに、あなたのプログラムはあなたに属する町ごとに呼び出されます。町を攻撃するか、町を支援するか、単に待つことができます。これらのアクションは、同時にではなく、順番に実行されます。 3ターンごとに、2人のローボーン(1人のローボーン=> 11騎士)につき1人の騎士を獲得します。ローボーンの量は変わりません。 町内の騎士には、1.2の防御ボーナスがあります。攻撃を受けると、騎士にこの数が掛けられます(例えば、持っている78 knights、93 knights攻撃中に持っている)。攻撃の後、余分な騎士は除去されます(82 knights生き残った場合、まだあります78 knights)。 攻撃では、各騎士は敵が死ぬ前に敵を殺します。例:30 knights攻撃100 knights(防御ボーナスなし)=> 70人の騎士が生き残ります。 あなたはその中のすべての騎士を殺すことによって町をキャプチャすることができます。すべてのローボーンはあなたに今所属しており、生き残った騎士は町に駐留しています。次のラウンドでは、他のすべての町に加えて、この町を支配できます。 町が占領された後、2ターンの間、防御ボーナスはありません(ゲートが壊れているため)。3番目のターンで、ゲートが修復されます。 ローボーンが反抗するのを防ぐには、少なくともローボーンの半分の騎士が必要です(町の23人のローボーンには、同じ町に少なくとも12人のナイトが必要です)。そうしないと、ローボーンはすべての騎士を殺し、町は「中立」になります(リーダーがなく、PlayerIdで示されます-1)。 中立の町は騎士を「生産」しますが、他の町を攻撃したり支援したりしません。 構文 コントローラはコマンド引数を介して入力を提供し、プログラムは標準出力を介して出力する必要があります。 出力(準備) ゲームを開始する前に、コントローラーは引数なしで送信を呼び出します。つまり、各町の100人をナイトとローボーンに分配する必要があります。KnightCount KnightCount KnightCountたとえば、出力する必要があります95 80 95。 入力 Round;YourPlayerId;YourTownId;PlayerId_TownId_knights_lowborns;PlayerId_TownId_knights_lowborns;... 最初のラウンドでは、これはのようなものになります 1;2;2;0_0_100_0;1_1_50_50;2_2_80_20。ここでは、それが最初のラウンドであることがわかります。あなたは町2のプレイヤー2です。80人の騎士と20人のローボーンがいます。 ゲームの後半では、のようなものになり20;2;1;0_0_100_0;2_1_30_50;2_2_40_20ます。あなたはまだプレイヤー2(これは決して変わらない)ですが、タウン1(今あなたがコントロールしている)を占領しました。 出力 A …

29
ドル紙幣オークション
これは、ゲーム理論におけるドル札オークションゲームのKOTHチャレンジです。その中で、ドルは最高入札者に売られています。入札単価は5¢単位で上昇し、敗者も入札単価を支払います。損失を削減するために、両プレイヤーは入札戦争をドルの価値をはるかに超えてエスカレートするという考え方です。 ボットがそれよりも賢いことを望みましょう。 net.ramenchef.dollarauction.DollarBidderクラスを拡張して、このゲームをプレイするボットを作成します。nextBid他のボットの以前の入札に基づいて、ボットの次の入札を返すメソッドを実装する必要があります。必要に応じて、このnewAuctionメソッドを使用して、対戦相手のボットのクラスで各オークションをリセットすることもできます。 public abstract class DollarBidder { /** * Used by the runner to keep track of scores. */ long score = 0; /** * (Optional) Prepare for the next auction. * * @param opponent The class of the opponent's bot. */ public void newAuction(Class<? extends DollarBidder> opponent) {} …

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