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

この課題は、Java言語に関連しています。回答が特定の言語であることが必要な課題は、一般的に推奨されないことに注意してください。

7
キングペン!(ドットとボックス)
これはドットとボックス(別名、ペンザピッグ)のキングオブザヒルチャレンジです。ゲームは簡単です。あなたの番では、空のフェンスに線を引くだけです。正方形を完成するたびにポイントを獲得します。また、私たちはチャンピオンシップルールに従ってプレーしているため、自分のターンで少なくとも1つのスクエアを完了すると、追加のターンが得られます。これはラウンドロビントーナメントで、各ボットは9x9グリッドで12回、お互いのボットを2回プレイします。ChainCollectorが共同チャンピオンAsdfのミンチ肉を作る2つのヘビー級タイタンの間のこの試合をチェックしてください: ルール 移動ごとに0.5秒の制限時間。 他のボットと干渉しません。 ランダム性のためにPigPen.random()およびPigPen.random(int)を使用します。 ファイルへの書き込みはありません。 ボットとそのすべての永続データは、対戦相手が変わるたびにリセットされます(12ラウンドごと)。 ボット すべてのボットはPlayer.javaを拡張します。 package pigpen; public abstract class Player { public abstract int[] pick(Board board, int id, int round); } Board主にPenクラスへのアクセスを提供するゲームボードでありid、playerID(1番目または2番目の場合roundはあなたに伝えます)は、同じ対戦相手(1または2)に対してどのラウンドをプレイしているかを示します。戻り値はです。int[]最初の要素はpenID(1から始まる)で、2番目の要素はfenceID(0から始まる)です。Pen.pick(int)この戻り値を生成する簡単な方法を参照してください。プレーヤーとJavaDocの例については、Githubページを参照してください。正方形グリッドのみを使用しているため、六角形に関連する関数とフィールドは無視されます。 実行方法 Githubからソースをダウンロードします。 コントローラーボットを作成し(必ずを含めてくださいpackage pigpen.players)、src/フォルダーに入れます。 でコンパイルしjavac -cp src/* -d . src/*.javaます。実行java pigpen.Tournament 4 9 9 false(グリッドサイズを調整するために最後の2つの数値を変更できます。最後の変数はtrue、pp_recordソフトウェアを使用する場合にのみ設定する必要があります。) スコア チェーンコレクター:72 Asdf:57 レイジーボーン:51 フィニッシャー:36 = LinearPlayer:18 = …

28
シンプルなワードラッパーを作成する
(注:これは私の初めてのコードゴルフの質問ですが、私が知る限り、誰もこれを正確に行っていないので、私は良いはずです。) あなたの仕事は、文字列sと整数を取り込んで、n複数の行に折り返されたテキストを返すか出力するプログラムまたは関数を作成することです。各単語は完全に1行である必要があります。つまり、途中で単語が分割されません。各行はn文字より長くすることはできません。また、各行にできるだけ多くの単語を収める必要があります。 例: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed at iaculis mauris. Praesent a …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

9
キングオブザヒル-嘘つきのサイコロ
嘘つきのサイコロはかなりシンプルなサイコロゲームです。ルールにはいくつかの異なるバリエーションがありますが、最もよく知っているバージョンは次のとおりです。 各プレイヤーは5d6で始まります ラウンドの終わりにサイコロを集計する場合を除き、各プレイヤーは自分のサイコロを見ることができますが、どの敵のものも見ることはできません 任意のラウンドの開始時に、すべてのプレイヤーは現在持っているサイコロを転がします 次に、1人のプレーヤー(通常、これは前のラウンドの勝者または前回開始したプレーヤーの左側のプレーヤーのいずれかです。このKotHには前者を使用します。ランダムなプレーヤーが最初のラウンドを開始します)テーブルに特定の数字がいくつあるかを推測します(ONES ARE WILD) 入札は右側に続き、毎回高くなります(たとえば、3 5、3 6、4 2はすべて3 4よりも高くなりますが、3 3はそうではありません。4が高くなりますが、1に入札するとおそらく不利益); いずれかのプレイヤーがその前のプレイヤーを嘘つきと呼ぶまで この時点で、すべてのプレイヤーはサイコロを公開し、テーブルで最後に入札した数をすべてカウントします 合計が入札よりも低い場合、入札を行ったプレーヤーは、彼らを嘘つきと呼んだプレーヤーにダイスを与えなければなりません。そうでなければ、入札者を嘘つきと呼んだプレーヤーは、入札者にダイスを与えなければなりません彼らが少なくとも彼が入札した数と同じ数であれば、正確な数である必要はありません) あなたがサイコロを使い果たすと、あなたは失う 最後のプレイヤーが勝ちます 例えば: プレイヤー1には1,1,2,4,6があります プレイヤー2には1,2,2,3,5があります プレイヤー3には1,3,3,4,6があります プレイヤー1:3つのシックス。 プレイヤー2:4 2。 プレイヤー3:フォースリー。 プレイヤー1:5 2。 プレイヤー2:6 2。 プレイヤー3:6人のスリー。 プレーヤー1:6人の4人。 プレイヤー2:うそつき! 彼らはサイコロを公開し、(サイコロがワイルドであるため)サイコロとフォーを数えます。 実際には、正確に6つのフォーがあります。 したがって、プレイヤー2はプレイヤー1にダイスを与えます。 彼らはリロールし、プレイヤー1は次のラウンドを開始します。 このゲームをプレイするにはボットを作成する必要があります。次の抽象Javaクラスを実装する必要があります。 public abstract class Player { public Player() {} public String toString() { …

12
グレートワンパスハント
コンプリート Wumpusシーズンは終了し、多くの悪質なWumpusと勇敢なハンターの生活が終わりました。some病で不道徳で実に愚かなハンターもいます。しかし、その日の終わりに、ヘックル博士のNascarHunterは、略奪品と栄光を手に入れました。私たちはあなたに敬意を表します、ああ勇敢な...ドライバー? Wumpusesはオープンシーズンで、世界中のハンターがWumpus Cavesに集まり、貴重なWumpus Peltを手に入れようとしています。 ゲーム いくつかのバリエーションを持つ、古典的なハンプザワンパスゲームに基づいています。 地図 十二面体。20の部屋があり、それぞれが他の3つの部屋に接続されており、基本的に3つのリングが間に橋を架けています。 ザ・ワンプス Wumpusは神秘的な獣です。それがどのように見えるかは確かではありませんが、すべてが凶暴であることに同意します。Wumpusは洞窟に住んでいて、死んだものを食べるのが好きです。Wumpusの隣の洞窟に死体がある場合、彼はそこに移動してそれを食べます。Wumpusがたまたまハンターを含む洞窟に移動した場合、Wumpusはハンターを殺して食べます。Wumpusが彼の近くに矢印を聞くと、彼はパニックしてランダムな部屋に走ります。 オプションの特性:これらは現在、ゲームをより面白くするために含まれていますが、あまりにも多くのランダム性を追加する場合、人気のリクエストで削除できます。 怒りに満ちた怒り:怒りに満ちた怒りは、3日間、20%の生存と暴れを持っています。暴れ回ると、彼は1日に2回ランダムに動きますが、それでも死体に引き付けられます。3日後、彼は死ぬでしょう。2回目の矢の射撃もWumpusを殺します。 さまようワンプス:毎日、ワンプスを誘発するものが他にない場合、25%の確率で移動します。 ハンターたち 4人のハンターが一度に洞窟に入ることができます。洞窟は暗いため、ハンターは見ることができませんが、他の感覚を使用できます。ハンターは、隣接する部屋でWumpusの匂いを嗅ぎ、隣接する部屋で死体の匂いを嗅ぎ、隣接する部屋で動いている他のハンターの音を聞き、隣接する部屋に矢が放たれるのを聞くことができます。 ハンターには2つのアクションがあります。撮影または移動です。ハンターは矢を隣の部屋や自分の部屋に向けて発射し、同様に移動できます。 ゲームプレイ 各ラウンドでは、ハンターはまず自分の周囲に注意を払い、次に1動きます。移動は矢印の前に発生するため、ハンターが移動する部屋に矢印が放たれた場合、ハンターは生き残ります。すべてのハンターの移動が行われた後、矢印が評価されます。1人の居住者と矢が同じ部屋にいる場合、居住者は撃たれて死亡します。2人以上の居住者が部屋を共有している場合、1人がランダムにヒットして死亡します。注:死体は居住者であるため、死体は部分的なシールドとして機能する場合があります。 すべてのハンターが移動した後、Wumpusが応答します。ハンターがWumpusと一緒に部屋に移動した場合、Wumpusは彼/彼女を食べます。Wumpusが移動すると、Wumpusは新しい部屋の居住者も食べます。 100日後、ハンターがWumpusを殺さなかった場合、またはfall落した犠牲者がいない場合、洞窟内で飢starで死にます。 コード すべてのソースコードは、ここにあります。誰かが私にstdIn / stdOutアダプタを書きたくない限り、すべての提出はJavaで行われるべきです;) ボットはHunterクラスを拡張する必要があります。Hunterに名前を付けるには、名前フィールドを設定するパラメーターなしでコンストラクターを追加します。応答するには、getResponse関数をオーバーライドします。この関数では、毎ターン、周囲の状況を知らせる5つのブール値の配列が渡されます。 ステータス0 =「おかしな匂いがする」 ステータス1 =「別のハンターが聞こえます」 ステータス2 =「死体の匂いがする」 ステータス3 =「矢印のカチャカチャという音が聞こえます」 ステータス4 =「同じ部屋で別のハンターを感じている」 Hunterクラスには2つのスロットがあります:nextMoveとnextDirection、それぞれ列挙型MoveとDirectionを使用します。移動はMOVEまたはSHOOTのいずれかであり、方向はLEFT、RIGHT、BACK、またはHEREです。方向は一貫しています。つまり、戻ると常に前の部屋に戻り、同じ部屋から入る場合、左と右は常に同じになります。ただし、別の方向から入る場合は、LEFTおよびRIGHTで別の場所に移動します。 独自のメソッドも自由に実装してください。記憶はトーナメント全体を通して持続します。つまり、ハンターは一度だけ構築されます。ただし、各ラウンドの開始時に、新しいゲームが開始されたことをハンターに知らせるためにnewGame()メソッドが呼び出されます。 得点 一度に4人のハンターが競います。殺された場合、Wumpusの毛皮は60ポイントの価値があり、生存しているすべてのハンターに均等に分割されます。フルラウンドロビンスタイルなので、4人のハンターの各組み合わせが一緒にプレイします。 5つのサンプルハンターが含まれています。4つは非常に基本的な機能で、もう1つはテストのためにユーザー入力を再生できます。 提案/リクエストがあれば、教えてください! 終わりが見えます! 世界のWumpusの人口は驚くべき速さで狩られています。6月17日水曜日にWumpuses保護法が可決されます。この日を過ぎると、洞窟でこれ以上ハンターは許可されなくなり、勝者が選ばれます。 スコアボード 注:謝罪、コードにバグがあり、複数のゲームでハンターが死んでいる可能性がありました。それを修正したので、全体的なランキングはあまり変わりませんが、統計は大きく変わります。 スコアが入り、ハンターの各セットをそれぞれ1000ゲームで実行します。NascarHunterとFullCoverageHunterがパックをリードし、AntiHunterの追加によりWumpusesの生存率が2%向上しましたが、彼らは今でも32%の生存率で吸盤足で揺れています。仲間のハンターからの矢は、これまで以上に洞窟の最大の脅威です。 1. NascarHunter : …

8
JavaでIllegalArgumentExceptionをスローする最短コード
オーケー、私たちは皆、JavaでIllegalArgumentExceptionをスローする通常の方法を知っています。 throw new IllegalArgumentException(); // 37 characters ただし、より短い(文字数の少ない)方法が必要です。さらに少ないコードでjava.lang.IllegalArgumentExceptionを生成するにはどうすればよいですか? コードフラグメントは、java 7でコンパイルおよび実行する必要があります。 インポート/外部パッケージなし(例:を使用しないjava.util.Arrays.toString()) 唯一の例外:java.langは自動的にインポートされるためです。 独自のメソッド/クラスを追加できます。 java.lang.IllegalArgumentExceptionをスローする必要があります 編集:エラー出力(stacktrace)はjava.lang.IllegalArgumentExceptionと命名する必要があるため、サブクラスはありません。 開始するベースを持つには: class Titled { public static void main(String[] args) { throw new IllegalArgumentException(); } }
21 code-golf  java 

12
接続n時間!
https://en.wikipedia.org/wiki/Connect_Four 2プレイヤーゲーム接続4を覚えている人はいますか?そうでない人にとっては、表面に垂直に立っている6x7のボードでした。接続4の目標は、接続4です!接続は、水平、斜め、または垂直の場合にカウントされます。ピースをボードの上部に置くには、ピースをその列の一番下に落ちるようにボードの上部に置きます。ルールは、コネクト4で3つのことを変更します。 変更#1の勝ちは、最も多くのポイントを持つプレーヤーとして定義されます。ルールのように4をつなげることでポイントを獲得します-それについては後で詳しく説明します。 変更#2各ラウンドに3人のプレイヤーがいます。 変更#3ボードサイズは9x9です。 得点: スコアは、連続して取得する数に基づいています。行グループに4がある場合、1ポイントを獲得します。行グループに5がある場合、2ポイント、行3に6などが続きます。 例: 注意oとx置き換えられます#し、~より良好なコントラストのために、それぞれ 空のボードの例:(すべての例は2プレーヤーの標準サイズのボードです) a b c d e f g 6 | | | | | | | | 5 | | | | | | | | 4 | | | | | | | | 3 | | | | | …

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 

10
コイン投げ時間旅行者
将来的にはタイムトラベル(TT)が一般的になりますが、コイン投げは深刻な精神スポーツになります。将来に備えて、エントリーの観点から実際に時間旅行が行われるプログラムのコンテストを作成します。 競争は、Javaクラス間のコイン投げ試合で構成されるラウンドロビンスタイルのキングオブザヒルです。 コイン投げのルール 2人のプレイヤーと100ラウンドがあります。 ラウンドごとにコインが投げられ、その結果に基づいてプレイヤーの1人が1ポイントを獲得します。各プレイヤーは50%の確率でポイントを獲得できます。 投げた後、両方のプレイヤーはレバーを引いて時間を制御する機会があります。 青色のレバー(ストッパーを元に戻す)を引くと、レバーが使用されたラウンドまたはそれ以前のラウンドではTTを使用できません。TTがこれらのラウンドに行こうとしても効果はありません。 赤いレバー(リバーター)を引くと、時間を元のラウンドに戻そうとします。成功した場合、対戦相手の記憶は、選択されたラウンドの前に記憶に戻され、選択されたラウンドから始まるコイントスの結果も削除されます。TTに関して対戦相手に可能な唯一の兆候は、元に戻されない未使用のレバーの数です。 各プレイヤーには、試合開始時に5個の青と20個の赤の未使用レバーがあります。これらのレバーはTTの影響を受けません。 100ラウンドの終了時にTTが発生しない場合、ゲームは終了し、スコアの高いプレイヤーが勝ちます。 詳細 ラウンドには1から始まるインデックスがあります(フォーム1から100)。 ラウンドの前にx、利用可能な青と赤のレバーの数が提供され、コインが投げられるまでx(最後を含む)、最後のx-1ラウンドのメモリがトスされます。 ラウンドで青色のレバーを引くと、xラウンドx前またはラウンド前に目的地があるTTが停止します(同じ正確なラウンドでもTTがブロックされる)。 ラウンドに戻すxことは、次のラウンドがラウンドになることを意味しxます。 両方のプレイヤーがラウンドの終わりに復帰することを選択した場合、時間はブロックされていない以前の目的地に戻ります。この時間に戻ろうとしたプレーヤーは記憶を保持します。 技術的な詳細 提供されたBotインターフェイスを実装するJavaクラスを作成する必要があります。 ボットをプロジェクトに追加します。 Botファイルのにボットのインスタンスを追加しますController.java。 クラスは、呼び出し間で情報を保持するべきではありません。(ほとんどの場合final、関数の外部に変数のみがあると、この要件が満たされます。) memory返されたActionオブジェクトのフィールドでコントローラーに情報を提供できます。TTが発生しなかった場合、これは次のターンに返されます。TTが発生した場合、対応する以前のメモリを受け取ります。 クラスのtotalScore()メソッドを使用してGame、履歴文字列のスコアを取得できます。 プロトコル 毎回、takeTurn(...)メソッドは5つの引数で呼び出されます。 未使用の青いレバーの数 未使用の赤いレバーの数 コイン投げの履歴、1と0で構成される文字列は、前のラウンドでの勝敗を示します。最初のキャラクターは、最初のコイン投げに対応しています。(最初のラウンドでは、文字列の長さはになります1。) 文字列、前のラウンドで保存されたメモリ このラウンドの1から始まるインデックス 毎回、メソッドは以下Actionを含むオブジェクトを返します moveアクションを説明するフィールドの整数: 0 何もしない -1 青いレバーを引いて、TTがこのラウンドを通過するのをブロックします x赤いレバーを引いてラウンドに戻ろうとする現在のラウンドよりも大きくない正の整数x 無効な整数はとして扱われ0ます。 保存したいこのラウンドのメモリを含む文字列。メモリの保存は、チャレンジの重要な部分ではないことに注意してください。文字列に有用なデータを保存せずに、適切なエントリを作成できます。最初のラウンドでは、文字列は空の文字列になります。 あなたの方法は、試合の平均でラウンドごとに10ミリ秒以上かかることはありません。 定期的に時間制限に違反すると、失格となります。 得点 試合に勝つと2ポイントが得られ、引き分けは両方のプレイヤーに対して1ポイントを獲得します。損失は​​ポイントを獲得しません。 ボットのスコアは、収集したポイントの総数になります。 競技者の各ペア間でプレイされる試合の数は、エントリーの数とスピードに依存します。 2つの簡単なボットの例が回答として投稿されています。 コントローラーと最初のカップルのボットはこちらから入手できます。 11月3日までに送信されたボットのテスト結果: 合計スコア: Oldschool: …

6
tryブロック内のすべてがすでにキャッチされているときにcatchに到達する
これは、私が推測する構文によってJavaとC#に制限されています。 このプログラミングパズルでExceptionは、キャッチできるがキャッチブロックの最後に再びスローされるを生成します。 try { while(true) try { // you are only allowed to modify code between this try { } brackets } catch(Exception ex2) { } } catch(Exception ex1) { // your goal is to reach this catch block by modifying the code ... // in the inner try block …

9
非対称KOTH:Catch the Cat(キャッチャースレッド)
非対称KOTH:猫を捕まえる UPDATE: Controller.javaが例外(エラーのみ)をキャッチしなかったため、gistファイルが更新されます(新しいサブミッションを含む)。現在、エラーと例外をキャッチし、それらも出力します。 このチャレンジは2つのスレッドで構成されています。これはキャッチャースレッドです。catスレッドはここにあります。 コントローラーはここからダウンロードできます。 これは非対称のKOTHです。各サブミッションは猫またはキャッチャーです。それぞれの猫とキャッチャーの各ペアの間にゲームがあります。猫とキャッチャーは別々のランキングを持っています。 キャッチャー 六角形のグリッドに猫がいます。あなたの仕事は、できるだけ早くそれをキャッチすることです。猫がそこに行くのを防ぐために、毎ターン、1つのグリッドセルに水バケツを置くことができます。しかし、猫は(おそらく)愚かではなく、バケツを置くたびに、猫は別のグリッドセルに移動します。グリッドは六角形であるため、猫は6つの異なる方向に進むことができます。あなたの目標は、猫を水バケツで囲むことです。 ネコ あなたは、キャッチャーがあなたの周りに水バケツを置くことによってあなたを捕まえたいことを知っています。もちろん、あなたは逃げようとしますが、あなたが怠catな猫であるように(猫はそうです)、あなたはまさにその時一歩を踏み出します。つまり、同じ場所に滞在することはできませんが、周囲の6つのスポットのいずれかに移動する必要があります。キャッチャーが新しいバケツを置いたのを見るたびに、別のセルに行きます。もちろん、できるだけ長く回避しようとします。 グリッド グリッドは六角形ですが、六角形のデータ構造がないため、11 x 11正方形の2D配列を取り、猫が6方向にしか移動できない六角形の「動作」を模倣します。 トポロジはトロイダルです。つまり、アレイの「外側」のセルを踏むと、アレイの反対側の対応するセルに転送されます。 ゲーム 猫はグリッドの指定された位置から始まります。キャッチャーは最初の動きをすることができ、猫とキャッチャーは猫が捕まるまで交互に動きます。ステップ数は、そのゲームのスコアです。猫は可能な限り大きなスコアを取得しようとし、キャッチャーは可能な限り低いスコアを取得しようとします。参加したすべてのゲームの平均合計が提出のスコアになります。猫用とキャッチャー用の2つの別々のランキングがあります。 コントローラ 指定されたコントローラーはJavaで作成されています。キャッチャーまたは猫として、それぞれJavaクラスを実装し(既にいくつかの基本的な例があります)、playersパッケージに配置する必要があります(コントローラークラスの猫/キャッチャーのリストを更新します)。そのクラス内の追加機能。コントローラーには、単純なcats / catcherクラスの2つの実例がそれぞれ付属しています。 フィールドは、セルの現在の状態の値を格納する11 x 112D int配列です。セルが空の場合は値0があり、猫がいる場合は値-1があり、バケットがある場合はがあり1ます。 あなたが使用できるいくつかの特定の機能がありますisValidMove()/ isValidPosition()あなたの移動(猫)/位置(キャッチャー)が有効であるかどうかをチェックするためのものです。 自分の番になるたびに、関数takeTurn()が呼び出されます。引数は次のような方法がある現在のグリッドのコピーが含まread(i,j)でセルを読み出すために(i,j)、だけでなく、isValidMove()/ isValidPosition()あなたの答えの妥当性をそのチェックを。これは、トロイダルトポロジのラッピングも管理します。つまり、グリッドが11 x 11のみの場合でも、セル(-5,13)にアクセスできます。 このメソッドはint、可能な動きを表す2つの要素の配列を返す必要があります。猫の場合、これらは{-1,1},{0,1},{-1,0},{1,0},{0,-1},{1,-1}猫が行きたい場所の相対的な位置を表し、キャッチャーはバケツを置きたい場所の絶対座標を返します{i,j}。 メソッドが無効な移動を生成する場合、提出は失格となります。移動先がすでにバケットであるか、移動が許可されていない/移動先が既に占有されている場合(猫として)、またはバケット/猫が既に存在する場合(キャッチャーとして)、移動は無効と見なされます。あなたは、与えられた関数で事前にそれをチェックすることができます。 あなたの提出は合理的に速く動作するはずです。メソッドが各ステップで200ミリ秒以上かかる場合、失格となります。(できればもっと少ない...) プログラムは、ステップ間で情報を保存できます。 提出 必要な数だけ提出できます。 既に提出した提出物を大幅に変更しないでください。 新しい回答の各提出をお願いします。 各提出には、できれば一意の名前を付ける必要があります。 提出物は、クラスのコードと、提出物がどのように機能するかを示す説明で構成される必要があります。 <!-- language: lang-java -->自動構文強調表示を得るために、ソースコードの前に行を書くことができます。 得点 すべての猫はすべてのキャッチャーと同じ回数だけ競争します。現在のスコアを頻繁に更新するようにします。アクティビティが減少したときに勝者が決定されます。 この挑戦はこの古いフラッシュゲームに触発されています テストと建設的なフィードバックを提供してくれた@PhiNotPiに感謝します。 現在のスコア(ペアリングごとに100ゲーム) …

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 

3
JVMバージョンを検出するJavaコードを作成します
目的は、互換性の変更、副作用、バグ、および/またはあるバージョンでは別の方法で、別のバージョンでは別の方法で動作する未定義の動作に依存するJVMバージョンを検出するJavaコードを書くことです。さらに、コードは、空白や読みやすい変数名を犠牲にすることなく、少なくとも少し読みやすくする必要があります。 その目的を確実にするために、正確な正式なルールは次のとおりです。 コードはjavaで記述され、実行中のJREバージョンを出力する必要があります。 コードは、Javaバージョンを検出するために特別に提供されたJDKまたはJRE APIを使用したり、JDKまたはJREバージョンを無料で提供したりしないでください。 コードはリフレクションを使用しないでください。 このコードはHotspot Java SE 5、6、および7でのみ動作する必要がありますが、他のJVMでも動作する場合があります。 コードでは、クラスパスでサードパーティのライブラリを使用しないでください。 コードは、Javaであるかどうかにかかわらず、他のプロセスを開始してはなりません。 コードは環境変数を使用しないでください。 コードは、既存のファイルまたはフォルダーを探すためにファイルシステムを検索してはなりません。 コードは単一のファイルに含まれ、public static void main(String[] args)またはを介して呼び出される必要がありますpublic static void main(String... args)。 コードは、JREに存在する非パブリックAPIを使用してはなりません。 コードは、実行中にNoClassDefFoundError、NoSuchMethodError、ClassNotFoundException、またはNoSuchMethodExceptionを生成してはなりません。 コードは、インターネットまたはローカルネットワークから切断されたシステムで実行する必要があります。 バージョンで1つの方法で動作し、別のバージョンで別の方法で動作する理由を説明する必要があります。 得点 最適なソリューションの測定に使用される方法はmax(n / s)です。nは、これらのルール(少なくともバージョン5、6、および7)に違反することなく検出された異なるJavaバージョンの数であり、sは字句トークンの数です。ソリューションで。

3
Javaアスタリスクの長方形[閉じた]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 2年前に閉店。 私のCSクラスでは、インストラクターが、Javaで斜めの線が描かれたアスタリスクで作られた長方形を作成する割り当てを与えてくれました。 彼はまた、できる限り少ないバイト数で書き込むように言っています。190バイトに削減しましたが、このコードをさらに単純化してバイト数を減らすためにいくつかを見つける必要があります。誰でもこれで私を助けることができますか? このコードは機能的です: interface d{static void main(String[]a){for(int z=0,w=new Byte(a[0]),h=new Byte(a[1]);z<h*w;){int y=z/w,x=z++%w;System.out.print((x>w-2)?"*\n":(y%(h-1)*x*((y-x)%3)==0)?"*":" ");}}} 入力は10 10です。 出力: ********** ** * * * * * * ** * * * * ** * * * * * * ** * * * * ** * * * * * * …
15 tips  java 

9
非対称KOTH:Catch the Cat(Catスレッド)
非対称KOTH:猫を捕まえる UPDATE: Controller.javaが例外(エラーのみ)をキャッチしなかったため、gistファイルが更新されます(新しいサブミッションを含む)。現在、エラーと例外をキャッチし、それらも出力します。 このチャレンジは2つのスレッドで構成されています。これはcatスレッドです。キャッチャースレッドはここにあります。 コントローラーはここからダウンロードできます。 これは非対称のKOTHです。各サブミッションは猫またはキャッチャーです。それぞれの猫とキャッチャーの各ペアの間にゲームがあります。猫とキャッチャーは別々のランキングを持っています。 キャッチャー 六角形のグリッドに猫がいます。あなたの仕事は、できるだけ早くそれをキャッチすることです。猫がそこに行くのを防ぐために、毎ターン、1つのグリッドセルに水バケツを置くことができます。しかし、猫は(おそらく)愚かではなく、バケツを置くたびに、猫は別のグリッドセルに移動します。グリッドは六角形であるため、猫は6つの異なる方向に進むことができます。あなたの目標は、猫を水バケツで囲むことです。 ネコ あなたは、キャッチャーがあなたの周りに水バケツを置くことによってあなたを捕まえようとしているのを知っています。もちろん、あなたは逃げようとしますが、あなたが怠catな猫であるように(猫はそうです)、あなたはまさにその時に一歩を踏み出します。つまり、同じ場所に滞在することはできませんが、周囲の6つのスポットのいずれかに移動する必要があります。キャッチャーが新しい水バケツを置いたのを見るたびに、別のセルに行きます。もちろん、できるだけ長く回避しようとします。 グリッド グリッドは六角形ですが、六角形のデータ構造がないため、11 x 11正方形の2D配列を取り、猫が6方向にしか移動できない六角形の「動作」を模倣します。 トポロジーはトロイダルです。つまり、アレイの「外側」のセルを踏むと、アレイの反対側の対応するセルに転送されます。 ゲーム 猫はグリッドの指定された位置から始まります。キャッチャーは最初の動きをすることができ、猫とキャッチャーは猫が捕まるまで交互に動きます。ステップ数は、そのゲームのスコアです。猫は可能な限り大きなスコアを取得しようとし、キャッチャーは可能な限り低いスコアを取得しようとします。参加したすべてのゲームの平均合計が提出のスコアになります。猫用とキャッチャー用の2つの別々のランキングがあります。 コントローラ 指定されたコントローラーはJavaで作成されています。キャッチャーまたは猫として、それぞれJavaクラスを実装し(既にいくつかの基本的な例があります)、playersパッケージに配置する必要があります(さらに、コントローラークラスの猫/キャッチャーのリストを更新します)。そのクラス内の追加機能。コントローラーには、単純なcats / catcherクラスの2つの実例がそれぞれ付属しています。 フィールドは、セルの現在の状態の値を格納する11 x 112D int配列です。セルが空の場合は値0があり、猫がいる場合は値-1があり、バケットがある場合はがあり1ます。 あなたが使用できるいくつかの特定の機能がありますisValidMove()/ isValidPosition()あなたの移動(猫)/位置(キャッチャー)が有効であるかどうかをチェックするためのものです。 あなたの番になるたびに、関数takeTurn()が呼び出されます。引数には、現在のグリッドのコピーが含まれており、read(i,j)のセルを読み取るためのメソッドや、回答の有効性をチェックするメソッドが(i,j)含まれisValidMove()/ isValidPosition()ています。これにより、トロイダルトポロジのラップも管理されます。つまり、グリッドが11 x 11のみの場合でも、セルにアクセスできます(-5,13)。 このメソッドはint、可能な移動を表す2つの要素の配列を返す必要があります。猫の場合、これらは{-1,1},{0,1},{-1,0},{1,0},{0,-1},{1,-1}猫が行きたい場所の相対位置を表し、キャッチャーはバケツを置きたい場所の絶対座標を返します{i,j}。 メソッドが無効な移動を生成する場合、提出は失格となります。移動先がすでにバケットであるか、移動が許可されていない/移動先が既に占有されている場合(猫として)、またはバケット/猫が既に存在する場合(キャッチャーとして)、移動は無効と見なされます。あなたは、与えられた関数で事前にそれをチェックすることができます。 提出は合理的に高速に動作するはずです。メソッドが各ステップで200ミリ秒以上かかる場合、失格になります。(できればもっと少ない...) プログラムは、ステップ間で情報を保存できます。 提出 必要な数だけ提出できます。 既に提出した提出物を大幅に変更しないでください。 新しい回答を提出してください。 各提出には、一意の名前を付けることができます。 提出物は、クラスのコードと、提出物の仕組みを説明する説明で構成する必要があります。 <!-- language: lang-java -->自動構文強調表示を得るために、ソースコードの前に行を書くことができます。 得点 すべての猫は、すべてのキャッチャーと同じ回数だけ競争します。私は頻繁に現在のスコアを更新しようとします、アクティビティが減少したときに勝者が決定されます。 この挑戦はこの古いフラッシュゲームに触発されています @PhiNotPiにテストと建設的なフィードバックを提供してくれてありがとう。 現在のスコア(ペアリングごとに100ゲーム) …

3
Brainfuckのビット演算子
あなたの仕事は、以下の二項演算子のそれぞれに対して1つのBrainfuckプログラムを作成することです。各プログラムは、入力から1つまたは2つの8ビット数(AおよびB)を取得し、指定された操作を計算する必要があります。 A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 5つすべてを実装する必要はありません。スコアは次の方法で計算されます。 #totalCharacters + {4000 * #problemsNotCompleted} したがって、有効なスコアはゼロ(最高)から20,000(何も完了していない)までです。 結果を保存する場所や、入力を保存するかどうかは気にしません。8ビットセル、および必要なだけの空のセルを右側にのみ想定します。 最適なメモリ位置に番号がすでにあると仮定することができるので、IO操作を心配する必要はありません。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

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