タグ付けされた質問 「ascii-art」

この課題には、テキスト文字をペイントとして使用して画像を作成または解析することが含まれます。通常、これは1963年からのASCII標準で定義された(合計128から)95の印刷可能な文字のみを使用します。

3
配列からツリーを描く
1桁の正の整数の入れ子になっている可能性のある空でない配列(一意であることが保証されていない)を指定すると、ボックス描画文字を使用してASCIIアート表現をツリーとして出力します┌ ┴ ┐ ─ │ ┬ ┼。(これらはコードページ437からコピーされましたが、同等の表現を使用できます)。 配列のすべての整数は、ツリーの葉でなければなりません。配列の同じレベルの要素は、ツリーの同じレベルに存在する必要があります。すべての要素は、明確に区別できるように十分な空白で区切る必要があります(1つのスペースの最小幅を決定するのはユーザー次第です)。 たとえば、与えられた配列[[1, [2]], [3, [4, 5]]]、次のツリーを出力します ┌─┴─┐ ┌┴┐ ┌┴─┐ 1 │ 3 ┌┴┐ 2 4 5 配列の場合[1, 2, 3]、ツリーは次のようになります ┌─┼─┐ 1 2 3 しかし、配列[[1, 2, 3]]は次のようになります │ ┌─┼─┐ 1 2 3 配列[1, [1, [1, [1]]]]は次のようになりますが ┌─┴┐ 1 ┌┴─┐ 1 ┌┴┐ 1 │ 1 …

11
このダイヤモンドパターンを描く
以下のパターンは、この課題の基礎となります。 /\ \/ /\ / \ / \ /\/ \/\ \/\ /\/ \ / \ / \/ /\ \/ 入力幅と高さを指定すると、それぞれ>=1、上記のASCIIアートパターンを何度も出力し、小さなひし形で結合(および重なり)します。 たとえば、次はwidth = 2andを使用した入力height = 1です。 /\ /\ \/ \/ /\ /\ / \ / \ / \ / \ /\/ \/\/ \/\ \/\ /\/\ /\/ \ / \ / \ …

3
レースアラウンドザトラック
最速のレーサーを探しています。以下に示すこの18x14トラックの最速ラップを見せてください。 ______ / \ / \ / ____ \ / / \ \ / / \ \ | | | | | | | | | | | | | | | | \ \ / / \ \____/ / \ / \ / \______/ あなたの仕事は、すべての可能な位置で一度トラックの下で車を動かすことです。 _ | | |_| …

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 

14
小包を解析する
マークマイメールチャレンジでの支援のおかげで、PPCG-Postは生成されたバーコードですべての小包に正常にスタンプしました! 次に、それらをデコードします。 このチャレンジでは、Mark My Mailチャレンジから生成されたバーコードを指定して、プログラムがそれをデコードし、エンコードされた整数を返します。 しかし、気をつけて!バーコードが上下逆になっている可能性があります... 4ステートバーコード エンコードの課題を逃した場合は、どのようなバーコードについて話しているのかを知る必要があります。4状態バーコードは、4つの可能な状態を持つバーの行で、それぞれが4を超える整数を表します。 | | Bar: | | | | | | Digit: 0 1 2 3 ASCIIでレンダリングされたバーコードは3行のテキストを取り、パイプ(|)文字を使用してバーの一部を表し、スペース()を使用して空のセクションを表します。各バーの間に1つのスペースがあります。バーコードの例は次のようになります。 | | | | | | | | | | | | | | | | | | | | | | | | | | | …

30
円形キーボードスパイラル
これはQWERTYキーボードです。 Q W E R T Y U I O P A S D F G H J K L Z X C V B N M このキーボードでGから「スパイラルアウト」できます。スパイラルはGから始まり、H、Y、T、F、V、B、N、J、Uの順に進みます。 、その後R、次いでD、C、...などあなたの課題はであり、数1≤所与N ≤26、出力第Nのこのスパイラルの文字を。(混乱している場合は、投稿の最後にある写真を参照してください。) キャッチ?プログラムのスコアは、スパイラル内にあるキャラクターのインデックスに比例します! 得点 コード内のすべての文字(大文字と小文字を区別しない)について、スパイラル内のその文字のインデックスをスコアに追加します(1から開始)。 スパイラルでないすべてのキャラクターについて、スコアに10を加えます。 最も低いスコアが勝ちます。 たとえば、プログラムprint("Hello, World!")のスコアは300です。 ご参考までに、自動プログラム採点プログラムを作成しました。 コードスニペットを表示 var SPIRAL = "GHYTFVBNJURDCMKIESXLOWAZPQ"; function grade(program) { var score = 0; …

30
パーセント記号を作成する
整数所与N ≥1、出力2次元表現†幅のパーセント記号のN。構成は次のとおりです。 作成のnをすることにより、n個のマトリックス(またはリストのリスト)ゼロでいっぱい。 左上隅と右下隅に挿入します。 対角線上に左下から右上に配置します。 入力n = 4の場合、この構造は次のようになります。 1. 4x4 matrix of 0s 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2. 1s in TL and BR corners 1 0 0 0 0 0 0 0 0 0 0 0 0 0 …


25
ログスケールは禁煙者向け
ログスケールが禁煙者用であることは誰もが知っています。したがって、ベースが指定されたログスケールで棒グラフを非終了にするプログラムまたは関数を作成する必要があります。 バーグラフ入力は、バーのリストである単一の文字列として取得されます。ここで、ログスケールバーグラフの各バーは、選択可能な印刷可能(または空白)区切り文字(0x09-0x0A + 0x20-0x7E)で区切られます。選択可能な印刷可能な非空白(0x21-0x7E)フィラー文字で構成されます。 プログラムまたは関数は、バーのリストである単一の文字列を出力します。各バーは、入力と同じ区切り文字で区切られ、入力と同じフィラー文字で構成されます。 例 「\ n」(1つの改行)の区切り文字と「#」のフィラー文字を選択します。プログラムまたは関数に渡される入力は次のとおりです。 base = 2 およびstring = #### ## ###### ### コードでは、バーの長さがであることがわかります[4,2,6,3]。2get [2^4,2^2,2^6,2^3]= を底とする各長さの対数を計算します[16,4,64,8]。次に、長さが線形スケールバー形式で出力されます。 ################ #### ################################################################ ######## 入出力 プログラムまたは関数は、適切な形式で入出力できます。 入力されたベースは、あなたがベースが完全に正規表現と一致する文字列の入力が保証されて256未満であると仮定することができる1以上の整数大きいことが保証され(f+s)+f+、ここで、fおよびsはそれぞれ自分の充填剤および区切り文字で置き換えられます。 文字列出力はregex (f+s)+f+と完全に一致する必要がfありsます。ここでおよびは、それぞれ同じフィラーとデリミタで置き換えられます。出力には、オプションで末尾の改行が含まれる場合があります。 出力と入力は、部分文字列で区切られるのではなく、文字列のリストにもなりますが、どのバーがどのバーであるかを理解できる必要があります。 テストケース (フィラーが#、デリミタがであると仮定します\n) base - input string - output string ----- 2 - #### ## ###### ### - ################ #### ################################################################ …

11
ターミナルで雨が降っています!
チャレンジの説明 ターミナルで雨のシミュレーションを表示する必要があります。 以下の例では、100個の雨滴をランダムに追加し(言語が提供するデフォルトのランダム関数を使用)座標を調整し、0.2秒待ってから、指定された時間が経過するまで再描画します。雨滴を表すために任意の文字を使用できます。 パラメーター 再描画間の待機時間(秒単位)。 雨が見える時間。これは、反復回数を表す単なる整数です。[したがって、雨が見える正味時間は、この整数に待機時間を掛けたものです] 雨が終わったときに表示されるメッセージ。(これは中央に配置する必要があります) 画面に表示される雨滴の数。 ルール 雨滴を表すために1バイトを使用する必要があり、猫や犬でも何でも構いません。 端末サイズに対応する必要はありません。つまり、さまざまな端末サイズのバグを処理する必要はありません。端末の幅と高さは独自に指定できます。 ゴルフの標準ルールが適用されます。 コードのサンプルと出力 これは、ncursesを使用してpython 2.7で記述された非ゴルフバージョンです。 import curses import random import time myscreen = curses.initscr() curses.curs_set(0) # no cursor please HEIGHT, WIDTH = myscreen.getmaxyx() RAIN = '/' # this is what my rain drop looks like TIME = 10 def make_it_rain(window, …

19
アスキーアート「フライトシミュレーター」
編集 元の投稿のタイプミスに続いて、プレーンを定義するために小文字のoを使用し、後で大文字を使用する混乱があったようです。残念ながら、このバグはサンドボックスで検出されませんでした。多くのメンバーが両方で答えを書いているので、タイプミスが私のせいだったので、飛行機の定義で大文字または小文字のoを許可します。これに新しいルールを追加しました。 バックグラウンド アスキーアートアニメーションが好きなので、ここにもう1つあります。これは実装するのが難しすぎるとは思わないので、うまくいけば短く興味深い答えが得られるでしょう。 仲間のコミュニティメンバー全員に 答えを改善する場合は、バイトカウントを次のように変更してください。 古いバイト数新しいバイト数 進捗状況を確認できます。ありがとう! チャレンジ これはアスキープレーンです --O-- これがアスキーの滑走路です ____| |____ 飛行機は滑走路の上の5つの改行から始まります。メートル系と帝国系の間の衝突を防ぎ、これを真に国際的な課題にするために、メートルやフィートについては言及しません。例: --O-- ____| |____ 以下に示すように、飛行機は滑走路の真ん中に正確に着陸する必要があります。 ____|--O--|____ 入力 平面の最初の水平位置は、左翼の先端を参照するために使用される整数入力によって定義されます。つまり、0〜10の間です。 出力 飛行機の飛行の各段階を表示する必要があります。以下の例(input = 10): --O-- ____| |____ --O-- ____| |____ --O-- ____| |____ --O-- ____| |____ --O-- ____| |____ ____|--O--|____ 物事をシンプルに保つために、私たちは遠近法則を無視しています。滑走路は、近づくと同じサイズのままです。 ルール 更新プレーンの中央は大文字または小文字oのどちらでもかまいませんが、どちらを選択してもコード全体で一貫している必要があります。ご使用の言語が上記の文字をサポートしていない場合は、ASCIIのみの代替文字を使用してください。 平面は、フレームごとに1行下降します。 平面は、1行下がるたびに1スペースだけ左または右に移動できます。下降ラインごとに移動する必要はありません。滑走路で終了する限り、右または左に移動するのはあなた次第です。あなたはパイロットです! エラー処理は不要です。入力は常に0〜10の有効な整数であると仮定できます。 出力は上記の文字のみで構成されている必要があり(言語でサポートされていない場合は編集された最初のルールを参照)、同じサイズである必要があります。上記の例のように、高さが進むにつれて減少する場合があります。 プログラムまたは機能は問題ありませんが、上記のような出力を生成する必要があります。 …

13
コードゴルフゴルフゴルフ
ゴルフチャレンジ 以下のASCII「グリーン」が与えられます。 | | | |> | | | | | O | | | | | | | | | | | | | レッツ|示す壁 レッツ|表す半分旗ポール レッツ>示すポールの旗 レッツO示す穴 レッツo表すボール 「グリーン」の寸法は10x10です。2つの壁の間には10のスペースがあります|。 また、緑の上部と下部の間には、10個のスペースがあります。 チャレンジ xとyの値を入力するか、2つの乱数を生成してゴルフボールをグリーンに「発射」します。 生成されたx、yがホールまたはフラグポール/フラグ出力「Try Again!」に触れない場合 生成されたx、yがホール出力「Hole in One!」にヒットした場合 生成されたx、yが極出力「ラッキーショット!」に当たる場合 生成されたx、yがフラグ出力「Close One!」にヒットした場合 ショットの後、ボールの位置を緑で出力し、oヒットしたキャラクターを置き換えます。上記のそれぞれのことわざも出力します。 例: //Hole in one example, the O …


15
はしごを描いてスライドさせる
あなたのタスクは、入力としてn1〜25(両端を含む)の自然数()を取り、n複数のラングのあるスライドとラダーの等角投影を印刷するプログラムまたは関数を作成することです。 はしごとスライドの仕様 はしごは常に左側に、スライドは右側に配置されます。梯子側から見ているので、スライドの一部は上位3レベルで見えなくなります。ラングは4つのダッシュ(----)とラダーの側面で表され、スラッシュ(/および\)でスライドします。以下は、5つのラングを含むスライドに必要なスペースのパターンを表す図です。 Slide Blank space count /----/\ 1234/----/\ /----/ \ 123/----/12\ /----/ \ 12/----/1234\ /----/ \ \ 1/----/1\1234\ /----/ \ \ /----/123\1234\ 例 >>1 /----/\ >>3 /----/\ /----/ \ /----/ \ >>4 /----/\ /----/ \ /----/ \ /----/ \ \ >>10 /----/\ /----/ \ /----/ \ /----/ \ \ …

7
永遠に増幅するジグザグ
正の整数Nを取り、必要な行のみを使用して、この増幅ジグザグパターンの最初のN個の数値を出力するプログラムまたは関数を記述します。 26 25 27 . 10 24 28 . 9 11 23 29 . 2 8 12 22 30 44 1 3 7 13 21 31 43 4 6 14 20 32 42 5 15 19 33 41 16 18 34 40 17 35 39 36 38 37 したがって、Nが1出力の場合 1 …

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