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

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

2
ミノタウロスのホームセンター
ミノタウロスのホームセンター クレタンの迷宮は描くのがとても簡単です。対称形状(ここでは赤)から始めます。これらの行のすべてのエンドポイントを「ノード」と呼びましょう。次に、アーチの描画を開始します(黒):最初のアーチは常に上部中央ノードから始まり、右側の隣のノードに接続します。次に、前のアーチに最も近い2つのノードが接続されます。これは、すべてのノードがカバーされるまで繰り返されます。 これで、この概念を一般化できますL。形状を追加することで、新しい初期パターンを簡単に生成できます。次のように初期形状を列挙しました。 最も左のパターンは、0度のクレタン迷路を生成します。次のものは、次数1のクレタン迷路(元の迷路)などを作成します。 仕事 非負の整数を指定するnと、プログラムはn次の例に示すように、次のクレタン迷路のASCII表現を出力する必要があります。末尾のスペース/改行は関係ありません。コードがどのように機能するかについての簡単な説明を含める必要があります。 例 元のクレタンラビリス(次数1)の出力は次のとおりです。 +-----------------------------+ | +-------------------------+ | | | +---------------------+ | | | | | +-----------------+ | | | | | | | +-------------+ | | | | | | | | | +---------+ | | | | | | | | | | | …

11
オカリナを演奏しましょう
私たち全員が知っているように、ゼルダシリーズはこれまでに作られた最高のゲームシリーズの一つです。それを記念して、オカリナでいくつかの曲を演奏しましょう。 チャレンジ: 曲を指定すると、その特定の曲のスコアを標準出力に出力するプログラムを作成します。 入力: スコアを出力する必要がある曲は、以下に示すように、ユニークな3文字の組み合わせで与えられます。 zel - Zelda's Lullaby sas - Saria's Song eps - Epona's Song sos - Sun's Song sot - Song of Time sst - Song of Storms ボーナスソング、各-7%: mof - Minuet of Forest bof - Bolero of Fire sow - Serenade of Water nos - Nocturne …

11
酒に酔った司教
公開キー暗号化では、公開キーフィンガープリントは、より長い公開キーを識別するために使用される短いバイトシーケンスです。 特にSSHでは、サーバーが実際に通信する予定のサーバーであり、中間者攻撃の標的になっていないことを確認するために使用できます。 それらは通常16進数の文字列として表されるため、期待する指紋と比較するのはかなり退屈で面倒です。 37:e4:6a:2d:48:38:1a:0a:f3:72:6d:d9:17:6b:bd:5e 少し簡単にするために、OpenSSHは指紋をASCIIアートとして視覚化する方法を導入しました。これは次のようになります。 +-----------------+ | | | | | . | | . o | |o . o . S + | |.+ + = . B . | |o + + o B o E | | o . + . o | | .o | +-----------------+ …

30
正弦波を印刷(垂直)
端末で垂直にスクロールする連続正弦波を印刷します。プログラムは終了せず、ウェーブを継続的にスクロールする必要があります(何らかの理由で中断されるまでは例外です)。オーバーフローは問題ではないと想定することができます(つまり、カウンターをインクリメントする無限ループ、または無限再帰を使用できます)。 波は次のプロパティを満たしている必要があります。 振幅= 20文字(ピーク振幅) 期間= 60〜65行(含む) 出力は、スペース、改行、 | 出力の各行の後、50msの間一時停止します サンプル出力: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | …

6
ASCII迷路レンダリング3000
私はタイピングが好きではないので、迷路を非常に単純な形式で描きます。 # ##### # # # ### # # # # # # # # ##### # 迷路じゃないですか?もちろん、すべての迷路は3dに見えるはずですが、このチャレンジと同じではありませんが、最大の迷路の大きさのため、私は(しぶしぶ)手動で迷路を次のように更新しました。 +-----+ +-----------------------------+ |\ \ |\ \ + \ \ + \ \ \ \ \ \ +-----------------------+ \ \ \ \ \| |\ \ \ \ \ +-----------------------+ \ \ \ \ …

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

10
スクエア、ダイヤモンド、スクエア、ダイヤモンド
仕事 小文字のASCII文字a-の空でない文字列が与えられた場合、z最初の文字を取り、そして: 2番目のキャラクターのコピーの正方形でそれを囲み、 それを3番目のキャラクターのコピーのひし形で囲み、 4番目の文字のコピーの正方形でそれを囲みます… …文字列の終わりまで正方形とダイヤモンドの境界を交互に切り替えます。ボーダー間の空のスペースは、ASCIIスペース()で表す必要があります。 正方形の境界線を追加するには、現在の「作業配列」全体を正確に囲むように正方形を描きます。 sssssssssss t s t s t t s t t s t t s t t s t aaa t s t aaa t s t aca t => st aca ts t aaa t s t aaa t s t t s …

30
グッドネスギザゴルフ!
「ギザ番号」は、口語ではティミー番号とも呼ばれ、数字がピラミッドを表す任意の番号です(A134810)。たとえば、「12321」は次のように視覚化できるため、ギザ番号です。 3 2 2 1 1 ただし、ピラミッドの上部に2桁があるため、「123321」のようなものはギザ番号ではありません 33 2 2 1 1 つまり、次のすべての条件が満たされている場合、数字はギザの数字です。 桁数が奇数で、中央の桁が最大です それは回文的(同じ読み取り前方または後方)であり、 数字の前半は厳密に1ずつ増加しています。(それは回文的でなければならないので、これは数字の後半が厳密に1つ減少しなければならないことを意味します) 入力として正の整数を取る完全なプログラムまたは関数を作成し、それがギザ数であるかどうかを判断する必要があります。入力は文字列または数値として取得できます。それは場合であるギザ番号、出力truthy値。それ以外の場合、偽の値。 合計45のギザ数があるので、これらの入力のいずれかが真実の値になるはずです。 1 2 3 4 5 6 7 8 9 121 232 343 454 565 676 787 898 12321 23432 34543 45654 56765 67876 78987 1234321 2345432 3456543 4567654 5678765 6789876 123454321 234565432 …

12
ASCIIアートでグラデーションを描く
タスクの説明: ASCIIアートで放射状のグラデーションを描くために、できるだけ短いプログラムを作成します。出力グリッドのサイズは事前定義されています。グラデーションに使用される中心点と文字は、プログラムへの入力として提供されます。 勾配は、次の仕様でサイズが70×25文字のセルになります グリッドの左上隅には座標(0、0)があります。 指定された文字で構成されるグラデーションは、35の長さの単位にマッピングされます。長さの単位は、高さ1文字、幅2文字です(monospaced fonts通常、文字は幅の2倍の高さがあるため)。 これらの35 LU内で、中心点からの現在の距離に勾配文字数 / 35を掛けて、その点に描画する文字のインデックスを取得します。インデックスの小数は、ここではゼロに丸められます。長さの単位は実数のままにします。(もちろん、結果が同じであれば、実装は関係ありません。) これらの35 LUを超えると、最後のグラデーション文字のみが表示されます。ただし、最後のグラディエント»band« は35 LU 内で既に開始されているため、最後の文字は35 LUのすぐ前から表示されます。 入力: 入力は標準入力で与えられ、それぞれが改行で終わる3行で構成されます。 グラデーションの中心点のx座標 グラデーションの中心点のy座標 グラデーションの描画に使用する文字。これらにはスペースが含まれる場合があります。 出力: 出力は、上記の標準出力のルールで定義されている勾配です。標準エラーストリームは無視されます。グラデーションの各行は、改行で終了します。入力で定義された文字以外の文字は使用できません。 サンプル入力1: 58 14 .:;+=xX$& サンプル出力1: &&$$$$$$$$XXXXXXXXxxxxxxxxx===========++++++++++++++++++++++++++++++++ &$$$$$$$$XXXXXXXXxxxxxxxxx=========+++++++++++++;;;;;;;;;;;;;;;;;;;;;+ $$$$$$$$XXXXXXXXxxxxxxxx=========+++++++++++;;;;;;;;;;;;;;;;;;;;;;;;;; $$$$$$$XXXXXXXXxxxxxxxx========++++++++++;;;;;;;;;;;;;;;;;;;;;;;;;;;;; $$$$$$XXXXXXXXxxxxxxxx========+++++++++;;;;;;;;;;;;;:::::::::::::;;;;; $$$$$XXXXXXXXxxxxxxxx=======+++++++++;;;;;;;;;;;:::::::::::::::::::::; $$$$$XXXXXXXxxxxxxxx=======+++++++++;;;;;;;;;::::::::::::::::::::::::: $$$$XXXXXXXXxxxxxxx=======++++++++;;;;;;;;;::::::::::::::::::::::::::: $$$$XXXXXXXxxxxxxx========+++++++;;;;;;;;::::::::::...............:::: $$$XXXXXXXXxxxxxxx=======+++++++;;;;;;;;:::::::::...................:: $$$XXXXXXXxxxxxxx=======++++++++;;;;;;;::::::::....................... $$$XXXXXXXxxxxxxx=======+++++++;;;;;;;::::::::......... ........ $$$XXXXXXXxxxxxxx=======+++++++;;;;;;;:::::::........ ...... $$$XXXXXXXxxxxxxx=======+++++++;;;;;;;:::::::....... ..... $$$XXXXXXXxxxxxxx=======+++++++;;;;;;;:::::::....... ..... $$$XXXXXXXxxxxxxx=======+++++++;;;;;;;:::::::....... ..... $$$XXXXXXXxxxxxxx=======+++++++;;;;;;;:::::::........ …

4
ダンジョンクローラー
入力 ダンジョンの壁を表すバイナリマトリックスMMM ダンジョン内のプレイヤーの位置(x 、y)(x,y)(x,y)。 プレイヤーが現在向いている方向ddd(0 =北、1 =東、2 =南、3 =西) 出力 プレイヤーの視野内にある壁の擬似3D表現30 × 1030×1030\times 10文字のASCIIアートとして。 以下は、いくつかの可能な出力フレームと、それに対応するための対応するマップとコンパスです(ただし、マップとコンパスの描画は課題の一部ではありません)。 仕様 視野 プレーヤーには、AからMのラベルが付いた131313壁が視野にあります。以下は、プレーヤーに対する壁の位置(黄色)であり、考えられるすべての方向です。AAAMMM 壁を描く 以前に描画された部分が近い壁によって上書きされる可能性があるため、壁はこの正確な順序でAAAからMMMに描画されることになっています。もちろん、最終結果が同じである限り、異なる方法で実装できます。 :全体の出力は、7つの異なる文字で描かれている" "、"'"、"."、"|"、"-"、"_"および":"。 この課題の本体の壁の形状を詳細に説明すると長すぎるため、代わりに次のTIOリンクで提供されます。 オンラインでお試しください! 特定の壁の一部ではないキャラクターは"?"、これらの図ではa でマークされています。それらは、まったく描画されない「透明な」文字として扱われなければなりません。一方、壁内のすべてのスペースは「ソリッド」であり、以前にそこに描かれた可能性のある他の文字を上書きする必要があります。 ルール 入力について MMMxxxyyyddd 0インデックスまたは1インデックスの座標を使用できます。 方向には、選択した4つの異なる値を使用できます。 3×33×33\times 3 あなたは常に縁に周囲の壁があると仮定するかもしれません。 プレーヤーは空の広場にいることが保証されています。 入力は有効であることが保証されています。 出力について 説明したとおりに壁を描く必要があります。 ただし、出力形式も柔軟です。単一の文字列、文字列の配列、文字のマトリックスなどです。 前後の空白は、一貫している限り許容されます。 これはcode-golfです。 テストケース すべてのテストケースは、次のマトリックスを使用しています。 [ [ 1, 1, 1, 1, 1, …

30
カーペットをレイアウトする
このSO質問に触発されました。 チャレンジ: 入力: 文字列sss キャラクターccc 出力: 文字列の最初の文字を中央に、外側に向かって、4方向すべてに文字列のひし形のASCIIアートを作成します。フィラーとしてのキャラクターを備えた、正方形のASCIIアートカーペットの中にあります。これはかなりあいまいに聞こえるかもしれないので、ここに例を示します。 入力: = 、 = 出力:sssstringccc. ..........g.......... ........g.n.g........ ......g.n.i.n.g...... ....g.n.i.r.i.n.g.... ..g.n.i.r.t.r.i.n.g.. g.n.i.r.t.s.t.r.i.n.g ..g.n.i.r.t.r.i.n.g.. ....g.n.i.r.i.n.g.... ......g.n.i.n.g...... ........g.n.g........ ..........g.......... チャレンジルール: 入力文字列は文字のリストでもあります 出力は、文字列行のリストまたは文字のマトリックスでもあります 入力文字列と文字は空でないことが保証されています 文字列には文字が含まれないことが保証されます 文字列と文字は両方とも印刷可能なASCIIのみです(ユニコード範囲[32,126]、スペース ''からチルダ '〜'まで) 一般的なルール: これはcode-golfであるため、バイト単位の最短回答が優先されます。 コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 デフォルトのI / Oルールを使用した回答には標準ルールが適用されるため、STDIN / STDOUT、関数/メソッド、適切なパラメーターおよび戻り値型、完全なプログラムを使用できます。あなたの電話。 デフォルトの抜け穴は禁止されています。 可能であれば、コードのテストへのリンク(TIOなど)を追加してください。 また、回答の説明を追加することを強くお勧めします。 テストケース: 入力: = 、 = 出力:sssc =11111c =c=c=0 …

30
物理的な九九を印刷する
長方形はこの素晴らしい特性を持っています長方形は正確に文字で構成されています!n × mn×mn \times mn × mn×mn \times m A ..より興味深い特性は、乗法テーブルで長方形をきれいに配置できることです-たとえば、テーブル:3 × 33×33 \times 3 # ## ### # ## ### # ## ### # ## ### # ## ### # ## ### あなたの挑戦は、数()を与えられて、フォーマットされた乗算表を出力することです。nnnn > 1n>1 n > 1n × nn×nn \times n ルール 上または下の入力を使用できますnnn デフォルトのI / Oルールが適用されます ブロックを表すために任意の非空白文字を選択できます。他のすべての文字(改行は特別ですが)は空白と見なされます。選択した文字は入力ごとに異なる場合がありますが、入力全体で同じである必要があります テーブルが整列し、必要な出力の一部ではない選択された文字の出現がない限り、結果に不要な文字が含まれることがあります …

6
失敗した城の検出
重力の興味深い側面の1つは、私が知る限り、空中に物を浮遊させることはできないということです。 しかし、ランダムキャッスルビルダーズ協会の全員がこの事実を知っているわけではないようです。 # # # # # # ### #### #### # # #### # # #### ### ############## ### ###### ###### ### ##### ##### ### ### `````````````````````````````` そしてこれは: # # # # # # ############## ### #### ### # # # # # # # # ### #### ### …

21
ハッピーベーコンデー!
今日はベーコンの日で、おそらく今日参加するための帽子の名前は「Mmmm Bacon」です。ベーコンで作られた楽しい2Dマトリックスで、ベーコンの日を祝うのにこれほど素晴らしい方法はありません!1 x 1のベーコンストリップは次のように表されます。 ----- )===) (===( )===) ----- ここでの目標は、タプルの2つの座標(x、y)を与えられ、ここでxとyはゼロ以外の正の整数です。ベーコンを作成し、何らかの形式(リスト、配列、文​​字列)で返します。 入出力: Input: (2, 1) Output: ---------- )===))===) (===((===( )===))===) ---------- Input: (1, 2) Output: ----- )===) (===( )===) ----- )===) (===( )===) ----- Input: (2, 2) ---------- )===))===) (===((===( )===))===) ---------- )===))===) (===((===( )===))===) ---------- ルール: 2番目のテストケースでわかるように、複数のベーコンが積み重ねられている場合、-----各ベーコンが上下に分かれているのは1つだけです。つまり、このようなベーコンの積み重ねは無効です。 ----- )===) (===( …

13
ASCIIボックスのボリューム
前書き この課題では、長方形の直方体(3Dボックス)のネット(展開された表面)のASCII表現が入力として与えられます。形式は次のとおりです。 ....+--+....... ....|##|....... ....|##|....... ....|##|....... +---+--+---+--+ |###|##|###|##| +---+--+---+--+ ....|##|....... ....|##|....... ....|##|....... ....+--+....... 直方体の各面は、-文字で#囲まれたsの長方形です+-|。ネットの外側は.s で満たされています。ネットは常に同じ向きになります。4つの隣接する面に囲まれた中央の面があり、中央の面の対応物は入力の右境界にあります。入力は.sで長方形にパディングされ、sの余分な行または列は含まれません.。 タスク あなたのタスクは、上記の図を入力として取得し、それが表す直方体の体積を計算することです。直方体は、その高さ、幅、深さの積にすぎません。入力は、改行区切りの文字列または文字列の配列として取得できます。 各エッジの長さは、+両端の文字間の距離です。たとえば、水平エッジの+--+長さは3、垂直エッジの長さは + | | | + エッジの最小長は1です。上の例の直方体のボリュームは2 * 3 * 4 = 24です。 ルールとスコアリング あなたは完全なプログラムまたは関数を書くことができ、最も低いバイト数が勝ちます。 テストケース .++.. +++++ +++++ .++.. 1 ...++.... ...||.... ...||.... +--++--++ +--++--++ ...||.... ...||.... ...++.... 3 ..+-+.... ..|#|.... +-+-+-+-+ …

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