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

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

10
フィボナッチドミノタイル
あります古典的な組み合わせの結果タイルに、いくつかの方法があること2*nによって、ストリップ1*2ドミノがn 番目のフィボナッチ数は。あなたの目標は、nこれらの8つのタイルのようにダッシュと垂直線で描かれた特定のすべてのタイルを印刷することですn=5: |———— |———— ——|—— ——|—— |||—— |||—— ————| ————| ||——| ||——| |——|| |——|| ——||| ——||| ||||| ||||| n入力として必要な出力を出力するプログラムまたは名前付き関数を提供します。最少バイトが勝ちます。 入力 数n間1および10STDINまたは機能入力を介して包括的な。 出力 2*nストリップの可能なドミノタイルをすべて水平に描画して印刷します。タイルの順序は任意ですが、それぞれ1回だけ表示される必要があります。これらは空白行で区切る必要があります。 垂直ドミノは2つの垂直バー(|)で構成され、水平ドミノは2つのダッシュ(—)で構成されています。-ASCIIのままにするために、ダッシュの代わりにハイフン()を使用できます。 印刷出力が同じように見える限り、空白で何でもできます。

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 

16
ASCIIボールインボックスアニメーション
*四角形(境界を含む20 x 10文字)内に移動するASCIIボールを表示するプログラムを作成します。ボールが長方形を横切ることはできません。たとえば、壁に当たったときにぶつかります。シーンは0.1秒ごとにクリアおよび再描画する必要があり、ボールはフレームごとにxおよびy方向に1文字移動する必要があります。どの言語でも書かれた最短のプログラムが勝ちます。 出力例(フレーム1) +------------------+ |* | | | | | | | | | | | | | | | +------------------+ 出力例(フレーム2) +------------------+ | | | * | | | | | | | | | | | | | +------------------+ 出力例(フレーム8) +------------------+ | | | | | | …

8
ASCIIルーラーの生成
課題は、ASCII文字カウントルーラーを次の形式で生成することです。 +-------------------------------------------------------------------------+ || | | | | | | | | | | | | | | | |0 10 20 30 40 50 60 70 | | | +-------------------------------------------------------------------------+ ルーラーの長さは、10の倍数までスケーラブルでなければなりません。 ルール: 定規は水平でなければなりません。 物事を簡単にするために、ルーラーは、1000マーク、すべての数字が左揃え、最後の数字の1スペース後まで動作する必要があるとしましょう。 長さゼロの定規を要求すると、NaRが出力されます。 負の数は、逆のルーラー(-90、-80、-70、...)を右揃えの数で、上記とまったく同じ形式で印刷する必要があります そして、コンソールに印刷するだけでいい 準備完了、ゴルフ!

5
楽譜通訳
ASCII楽譜が与えられた場合、ノートとそれに対応する長さを出力できる必要があります。スコアには5〜15音が含まれ、譜表に書き写されます。ステーブは、スペースの行で区切られた-(マイナス)文字で構成される5本の水平線で構成されます。ステーブの一番下の行は、音符「E」に相当します。一番下の行のすぐ上のスペースの行は「F」を示し、その下の「E」よりも高いピッチです。これは以下のように続きます。メモは、「A」で再び開始する前に「G」までしか表示されないことに注意してください。下記参照: F ---------- E D ---------- C B ---------- A G ---------- F E ---------- 文字は入力に含まれないことに注意してください。音符はステーブの上にao(小文字ooh)文字を使用して重ねられ、「音符の頭」を示します。この音符の頭は音符の頻度を示しているため、上記のようにアルファベット順で表示されます。たとえば、次のようにスコアに付けられた音符は「A」を示します。 ---- ---- ---- o ---- ---- 上記の「A」のような音符は「全音符」と呼ばれ、1ビート全体で演奏されます。他の持続時間は、音符から上昇する「ステム」と、0〜3個の「フラグ」を含めることで示すことができます。ステムは3つで構成されています| (パイプ、または垂直バー)音符の頭のすぐ上にスタックされた文字。フラグのないステムは「クォーターノート」と見なされ、1/4ビートで演奏されます。フラグは\(バックスラッシュ)文字であり、ステムの右側にあります。各ステムは、ノートが演奏される時間を半分にします。各音符の長さは、音符全体、4分音符、8分音符、16分音符、または32秒音符のいずれかです。これは、各タイプのメモがどのようにAを探すかです。 -------------------- ----|---|\--|\--|\-- | | |\ |\ ----|---|---|---|\-- o o o o o -------------------- -------------------- 複数のノートをまとめると、スコアが得られます。各ノートは4文字幅と見なすことができ、各4文字ブロックの最初の列にノートがあります。例えば ​​: |\ ----|\--|\---------- |\ | |\ ----o---|---o---|\-- | o | |---------------o--- …

6
RLEデータを圧縮してASCIIアートを描画する
この質問は、私が別の質問に答えるために思いついたものに基づいています。 時々、ここの質問はいくつかのASCIIアートを描くように求めます。アートのデータを保存する簡単な方法の1つは、RLE(ランレングスエンコーディング)です。そう: qqqwwwwweeerrrrrtttyyyy になる: 3q5w3e5r3t4y 大きなASCIIアートを描くために、次のようなデータを取得している可能性があります(改行文字は無視されます)。 19,20 3(4)11@1$20 11@19,15"4:20 4)19,4:20 11@ ^^^ Note that this is "20 whitespaces" (Character count: 45) ASCIIアートに使用される文字は、小文字、大文字、数字ではなく、記号、マーク、記号のみですが、常に印刷可能なASCII文字セットになっています。 その文字列のスペースを節約したいので、数字を大文字の文字セットで置き換えます( 'A'は1に等しく、 'B'は2に等しくなり、 'Z'が26に等しくなります)。文字を26回以上繰り返す。だからあなたは得る: S,T C(D)K@A$T K@S,O"D:T D)S,D:T K@ (Character count: 34) そして最後に、(文字+記号)のいくつかのグループが繰り返されていることに気づくので、文字列に3回以上出現するグループを、文字列の順序または出現順に小文字の文字セットで置き換えますが、バッファーに格納します置換(置換ごとに "group + substitution char"の形式)が行われ、残りの文字列はそのままになります。したがって、次のグループ: S, (3 times) T (4 times) K@ (3 times) 26個を超えるグループが繰り返されることはないため、それぞれ「a」、「b」、「c」で置き換えられます。だから最後にあなたは得る: S,aT …

12
アルファベットの翼!
あなたの仕事はこの正確なテキストを印刷することです: az za abyz zyba abcxyz zyxcba abcdwxyz zyxwdcba abcdevwxyz zyxwvedcba abcdefuvwxyz zyxwvufedcba abcdefgtuvwxyz zyxwvutgfedcba abcdefghstuvwxyz zyxwvutshgfedcba abcdefghirstuvwxyz zyxwvutsrihgfedcba abcdefghijqrstuvwxyz zyxwvutsrqjihgfedcba abcdefghijkpqrstuvwxyz zyxwvutsrqpkjihgfedcba abcdefghijklopqrstuvwxyz zyxwvutsrqpolkjihgfedcba abcdefghijklmnopqrstuvwxyzyxwvutsrqponmlkjihgfedcba abcdefghijklopqrstuvwxyzyxwvutsrqpolkjihgfedcba abcdefghijkpqrstuvwxyzyxwvutsrqpkjihgfedcba abcdefghijqrstuvwxyzyxwvutsrqjihgfedcba abcdefghirstuvwxyzyxwvutsrihgfedcba abcdefghstuvwxyzyxwvutshgfedcba abcdefgtuvwxyzyxwvutgfedcba abcdefuvwxyzyxwvufedcba abcdevwxyzyxwvedcba abcdwxyzyxwdcba abcxyzyxcba abyzyba aza 以下が許可されます。 行末の末尾のスペースを除外する すべてを小文字ではなく大文字で行う 末尾の改行 これはcode-golfなので、バイト数が最も少ないコードが優先されます。

4
Pigpen Cipher暗号化
Pigpen Cipher暗号化 あなたの使命は簡単です。入力としてテキストを受け取り、そのテキストのASCII表現をPigpen Cipherに出力するプログラムを書くことです。 入力 ASCIIのみ(Unicodeなし)の文字。少なくとも16384文字と256行を処理できる必要があります。 出力 改行ではないすべての文字を、スペースで、ABCDEFGHIJKLMNOPQRSTUVWXYZまたはabcdefghijklmnopqrstuvwxyzスペースで置き換えます。 大文字と小文字を区別せずに、各文字を暗号化された形式に置き換え(次のセクションを参照)、3行それぞれに末尾のスペースを挿入します。エンコードされた各文字は、ASCIIアートの3 * 3ブロックです。スペースを3 * 3ブロックのスペースに置き換えます。 新しいピッペンラインを開始する新しいラインがない限り、すべてのキャラクターは同じ3行にある必要があります(これらの3行を1つのピッペンラインと呼びます)。ピッペンラインの間の通常のラインは空白のままにします。 暗号 | | | | .| |.| |. --+ for J +-+ for K +-- for L --+ +-+ +-- .| |.| |. --+ for M +-+ for N +-- for O --+ +-+ +-- .| …

3
ローグライクのマップを生成する
今日は、ローグライクRPGのマップを生成します! サンプルマップ: ########## #### F# #### ## ## C#C# # ## # # C #E # #### # # # # #P # ########## #壁でPあり、プレイヤーの開始位置でFあり、到達しなければならないフィニッシュであり、C収集できるコインでありE、戦うことができる敵です。 地図の仕様: 高さと幅は両方とも10から39の間でなければなりません。高さは幅と同じである必要はありません。 マップの境界は壁で埋める必要があります。 P 左下隅に配置する必要があります。 F 右上隅に配置する必要があります。 1〜3人の敵がいるはずです。 2〜4枚のコインがあるはずです。 中央にある程度の壁があるはずです。そこから取得するためのパスでなければなりませんPすべてにC、EとF、プレイヤーが斜めに動くことができないということを念頭に置いて。 可能なすべての組み合わせには、発生する可能性があります。 ルール 最少バイトのプログラムが勝ちます。 プログラムは何も入力しないでください。 プログラムはエラーで終了しない可能性があります(致命的でない出力は問題STDERRありませんが、マップ生成後に不正なクラッシュを起こすことはできません!) 単一の末尾の改行が許可され、末尾のスペースが許可されます。 他の出力は許可されません。

1
たたみばりソルバー
バックグラウンド タタミバリはニコリが設計した論理パズルです。 :Tatamibariパズルは、その中のシンボルの三つの異なる種類の長方形のグリッド上で再生され+、-。と|。ソルバーは、次の規則に従ってグリッドを長方形または正方形の領域に分割する必要があります。 すべてのパーティションには、シンボルが1つだけ含まれている必要があります。 +シンボルは、正方形の中に含まれている必要があります。 |シンボルは、幅よりも大きい高さを有する矩形に含まれなければなりません。 -シンボルは、高さよりも大きな幅を有する長方形に含まれなければなりません。 4つのピースが同じコーナーを共有することはありません。(これが通常の畳の置き方です。) 以下は、解決策を含むパズルの例です。 仕事 与えられたタタミバリパズルを解きます。 入出力 入力は、指定されたタタミバリパズルを表す2Dグリッドです。各セルは、4つの文字のいずれかが含まれています+、-、|、、お好みのキャラクターは非手掛かり細胞を表現するために。テストケースでは、アスタリスク*が使用されています。 タタミバリパズルの有効なソリューションを明確に表すことができる適切な出力形式を選択できます。これには以下が含まれますが、これらに限定されません(不明な場合は、コメントで質問してください)。 4タプルのリスト。各タプルには、長方形の上部インデックス、左インデックス、幅と高さ(または同等の表現)が含まれます。 入力と同じ形状の数値グリッド。各数値は長方形を表します 座標セットのリスト。各セットには、長方形内のセルのすべての座標が含まれます パズルに複数のソリューションがある場合、有効なソリューションをいくつでも(1つ以上)出力できます。入力には少なくとも1つのソリューションがあることが保証されています。 テストケース Puzzle: |-* *+| *-* Solution: 122 134 554 ===== Puzzle: +*** **|* *+** ***- Solution: 1122 1122 3322 3344 ====== Puzzle: |*+*+ ***** ****- ***+| +**** Solution: 12233 12233 44444 55667 …

25
テニスをしよう2:東西ゲーム
チャレンジがありましょうプレイテニスでダニエル。彼は南北方向に裁判所を置くことを提案します。私の提案は、東西方向にもテニスをするコートを作ることです。 テニスコートを印刷する必要がありますが、機密上の理由により、可能な限り少ないバイト数で印刷する必要があります。 テニスコート ------x------ | | x | | | |--x--| | | | x | | ------x------ 元のルールは次のとおりです。 余分なスペースはありません。 不公平になるため、タブはありません。 1つのオプションの末尾改行が許可されます。 これはcode-golfなので、バイト単位の最短コードが優先されます!

3
ASCII「スプラット」を出力する
ASCII卵を特定の方向に投げると、サイズがnの ASCIIスプラットになります。これは1つo(卵黄)で「始まり」、2からn までの「行」で指定された方向に続き*ます。*さんは、一つの『スペース』によって分離され、そしてoのおよびすべての『行』*さんは『スペース』の『行』によって分離されています。 スプラットの方向は、からの8つの方向のいずれかにすることができます。o次に例を示します。 1 2 3 4 o 5 6 7 8 ここ方向のサイズ4のASCIIのスプラットの例であり5、2そして3それぞれは 左側は実際のASCIIスプラットで、右側は同じスプラットですが、「スペース」の「行」が実際の「行」(つまり-、\または|方向に応じて)に置き換えられています。空間の「線」。 Size 4, direction 5 * | | |* * | |*| * * |*| |* o * o| |*| * * |*| |* * | |*| * | | |* Size 4, direction 2 * …

5
ユークリッドアルゴリズムを再度可視化する
仕事 2つの正の整数を与える: 2つの整数で指定された寸法で長方形を描画します。 スペースがなくなるまでステップ3を繰り返します。 (残りの)長方形の3つの辺に接する最大の正方形を描画して塗りつぶします。 結果の長方形を出力します。 例 たとえば、入力は6and 10です。 サイズ6 x 10の中空の長方形を描画します。 xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx xxxxxxxxxx 繰り返し正方形を埋めた後、これは私たちが得るものです: aaaaaabbbb aaaaaabbbb aaaaaabbbb aaaaaabbbb aaaaaaccdd aaaaaaccdd 4つの正方形はここにある(a、b、c、d)、辺の長さとそれぞれ6、4、2、2それぞれ。 ルールと自由 正方形ごとに異なる文字を使用する必要があります。 サポートされる文字がすべて印刷可能な文字であり、少なくともサポートされる文字がある限り、サポートする文字を選択できます10。 上記のステップ3の各反復では、2つの選択肢があります(最後の反復では選択肢が1つしかない場合を除く)。どちらの選択も有効です。 必要な正方形の数は、サポートする文字の数を超えることはありません。 正方形には、サポートする文字を任意の順序で入力できます。 テストケース 入力: 6, 10 出力: aaaaaabbbb aaaaaabbbb aaaaaabbbb aaaaaabbbb aaaaaaccdd aaaaaaccdd または aaaaaaccdd aaaaaaccdd aaaaaabbbb aaaaaabbbb aaaaaabbbb aaaaaabbbb …

4
渦を作りましょう!
今日のあなたの使命は、単一のパラメーターを指定して渦を作成することです。 このパラメーターは、各腕の長さを文字数で決定します。 各腕の各「レイヤー」には、最後の腕よりも1つ多い文字が含まれています。 アームの長さが与えられた場合の渦の様子は次のとおりです。 0: # 1: # ### # 2: # # # ### # # # 3: ## # # # ### # # # ## 4: # # ## # # # ### # # # ## # # 10: # # # # # #### # …

2
黄色の木に分岐した2本の道路(パート3)
注:これは、以前の私の挑戦であった、黄色の木材に分岐した2本の道路(パート2)に基づいています。その質問の人気と2つの道路が黄色の森に分岐したため(パート1)、3 つ目の道路を作成したいと思いました。しかし、最初の2は、あまりにも簡単(た2バイトの最初の答えは、第二の15バイトの答え。)だから私は、より複雑な何かをしました... インスピレーション この挑戦は、ロバート・フロストの有名な詩、「道はとられない」に触発されました。 黄色い森に分かれた2本の道、 そして申し訳ありませんが、両方を旅することはできませんでした。 一人旅人になり、長い間立ち 、できるだけ下を見下ろし ました。 ... 2段落をトリミング... 私はため息をついてこれを言います。 年齢とそれゆえ年齢: 2つの道路が森の中で分岐し、私は—通行が 少ない方の道路を利用しました 。それがすべての違いを生んでいます。 最後から2番目の行に注意してくださいI took the one less traveled by,。 裏話 あなたは、道を歩いている盲目の冒険家を助けるために割り当てられ、The Road Not Takenに触発されました。冒険者が道路の分岐点に近づいていて、あまり移動しない経路を進みたいと考えています。あなたは冒険者が実際にどこにいるのかを見つけ、冒険者にどこを曲がるかを教えなければなりません。 チャレンジ あなたの目標は、道路が分岐している地図上で最も移動が少ない道路を見つけることです。マップは改行(または\n、必要に応じて)を含む文字列であり、幅と高さが不明です。マップでは、道路は0〜9の数字で構成され、交差点は#sで構成されています。あなたは現在あなたが通っている道を見つけ、他の道の中で最も通った道と、盲目の冒険家のためにあまり通らなかった道を見つけなければなりません。マップ内の森はスペースで表されます。ここに簡単なマップがあります: 2 2 1 0 # 2 2 このマップは、幅5、高さ5です。道路がY字型に分岐していることに注目してください。Yの向きはどのようなものでもかまいません。そのため、「回転した」マップを理解できる必要があります。 どういう#意味 地図が分岐する場所にはがあり#ます。これはパスのスコアには影響しません。 数字が実際に意味すること 各パス(数字の線、曲がりがある場合があります)にはスコアがあります。パスのスコアはその数字を合計することによって決定されるため、最初の例では、最初のパス(左上から時計回り)のスコアは2 + 1 = 3、2番目のパスは2 + 0 = 2、3番目のパスは2 …

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