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

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

27
ゴルフあなたの言語の識別子
識別子は、文字列のハッシュ値を表す幾何学模様の小さな画像です。Stack Exchange は、GravatarのIDアイコンを各ユーザーのデフォルトのアバター画像として使用します。 この課題では、Gravatar IDを使用して、ゴルフ用のテキストを生成します。 チャレンジ このスタックスニペット(このJSFiddleの縮小版)を使用すると、文字列を入力して、その文字列のIDの100×100ピクセルの白黒バージョンと、黒用および白1用のテキストバージョンを返すことができます0。 <!-- Click "Run code snippet" --> <div style='text-align:center;'> <input id='str' type='text' size='32' value='Python'> <button type='button' onclick='go()'>Go</button><br><br><input id='type1' name='type' type='radio' value='identicon' checked> <label for='type1'>Identicon</label> <input id='type2' name='type' type='radio' value='monsterid'> <label for='type2'>Monster</label> <input id='type3' name='type' type='radio' value='wavatar'> <label for='type3'>Wavatar</label> <input id='type4' name='type' type='radio' value='retro'> <label …

27
私はあなたを愛しています
「Kinary Heart」というタイトルのXKCD#99は、1と0の単純な画像を示し、一部の数字は赤で表示されます。 赤いハートは肉眼で見えますが、バイナリシーケンスに隠されたメッセージは見えません。すべてのスペースと改行を削除し、バイナリシーケンスを8ビットASCIIコードとして解釈すると、次のメッセージが表示されます。 iloveyOuilOveyouiloveyOuilOveyOuiloveyouilOveyouilOveyOuilOv かわいいね? Pssst ...文字列は純粋な文字列の繰り返しではありません。 あなたの課題は、横21桁、下23桁のこのバイナリイメージを作成することです。各行の各桁の間にスペースが1つ、新しい行ごとに1つの改行が必要です。8で割り切れないeため、最後のビットは文字の先頭にすぎないことに注意してください21*23。これらのビットも正しく必要です。 関数またはプログラムは入力を受け付けません。先頭および末尾のスペースと改行を使用できます。 コードの結果は次のようになります。 0 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0 0 1 0 1 …

30
アスタリスクの三角形を描く
プログラミング101のタスクに触発されたタスクは、あまりにも簡単ではないか、重複していることを願っています(このようなものを検索するのは難しいです)。 入力: 正の整数n >= 1。 出力: n アスタリスクの行。すべての新しい行には、前の行よりも1つ多くアスタリスクがあり、最初の行には1つのアスタリスクが付いています。 一般的なルール: これはコードゴルフなので、バイト単位の最短回答が勝ちです。 このコースはC ++で教えられているので、C ++で解決策を見たいと思っています。 テストケース(n = 5): * ** *** **** *****

30
Nの2乗を印刷
stdinから、または関数の引数として負でない整数Nを取り込むプログラムまたは関数を作成します。それは、それぞれが数NのN個のコピーで作られている中空のASCIIアートの正方形の文字列を印刷または返さなければなりません。 具体的には: Nがの場合、N 0のコピーは使用されないため、出力(または単一の末尾の改行のみ)がありません。 Nがの1場合、出力は次のとおりです。 1 Nが2次の場合: 22 22 Nが3次の場合: 333 3 3 333 Nが4次の場合: 4444 4 4 4 4 4444 Nが5次の場合: 55555 5 5 5 5 5 5 55555 パターンは6through まで続き9ます。 Nがの10場合、出力は次のとおりです。 10101010101010101010 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 …

8
伸縮性のヘビにキスをする
伸縮性のあるヘビは次のようになります。 <||=|||:)~ 伸縮部分|として知られる伸縮性蛇の垂直バー()の各個別のシーケンスは、その幅の2倍まで個別に拡張可能で、一度拡張されると交互にスラッシュ(、)で描画されます。/\ 上記の特定のヘビには、このような伸縮性のある部分が2つあり、4つの可能なポーズが与えられています。 <||=|||:)~ </\/\=|||:)~ <||=/\/\/\:)~ </\/\=/\/\/\:)~ 最小のストレッチポーズで伸びるヘビの一般的な形は、この正規表現で定義されます。 <(\|+=)*\|+:\)~ 次のように言葉で表現できます: <配列のいずれかの数字が続く|の接合と=、続いて標識:)~。 だから<|:)~and <||:)~と<|=|:)~and <|=|=||=|||||=||:)~は伸縮性のあるヘビですが<=:)~、<=|:)~and <||=:)~とand <|==||:)~はそうではありません。 伸縮性のあるヘビは、右ではなく左を向く場合もあり~(:|||=||>ます。フォームは同じで、ミラー化されています。 チャレンジ いくつかのスペースを挟んで、向かい合う2つの伸縮性のある蛇の1行の文字列を取り込むプログラムを作成します。両方のヘビは、最も伸びのないポーズになります(すべての垂直バー、スラッシュなし)。文字列は、右向きのヘビの尾で始まり、左向きのヘビの尾で終わります(オプションとして、末尾に改行もあると想定できます)。 たとえば、ヘビの間に5つのスペースがある入力の例を次に示します。 <|=||:)~.....~(:||||> .わかりやすくするために、実際のスペース文字の代わりにピリオド()を使用しています。 ヘビ間のゼロスペースも有効な入力です。 <|=||:)~~(:||||> ヘビは舌がこのように触れているときにキスをしていると言います。 あなたのプログラムは、(重複なし)ヘビはそれらの間の可能なスペースの最小数を有するように蛇の両方の伸縮性の部分のいくつかの組み合わせを拡張する必要がヘビが可能とキスに近いであるように、すなわち。 蛇の尾は両方とも固定されていますが、伸びている部分に応じて、頭と体は動くことができます-右向きのヘビは右、左向きのヘビは左です。 プログラムの出力は、蛇を可能な限りキスに近い形で示す単一行の文字列(オプションの末尾の改行)であり、伸びた部分の垂直バーの代わりにスラッシュを交互に描画します。 たとえば、<|=||:)~.....~(:||||>(上記から)の出力は次のようになります。 </\=||:)~~(:/\/\/\/\> これが唯一の解決策です。伸縮性のある部分の他の組み合わせを拡張すると、ヘビが重なり合うか、キスから遠ざかるからです。 可能なソリューションが複数ある場合、出力はいずれか1つになります。 たとえば、入力が <|=||:)~.....~(:|||=|> 出力は <|=/\/\:)~~(:/\/\/\=|> または </\=||:)~~(:/\/\/\=/\> ヘビにキスをすることは常に可能であるとは限らないことを忘れないでください、しかしあなたはまだそれらをできるだけ近くに近づける必要があります。 たとえば、入力が <||=||||:)~...~(:||> 出力は </\/\=||||:)~.~(:||> または <||=||||:)~.~(:/\/\> ヘビがすでにキスしている場合、出力は入力と同じになります。例えば <|=||:)~~(:||||> 一般に、伸縮性のある部分を延長すると蛇が重なる場合、出力は入力と同じになります。例えば <|||=|||:)~..~(:||||=|||||=||||||> …

10
リトルチャンドラーは悲しい。彼を元気づけるために彼に雲を引きます
リトルチャンドラーは悲しい。彼を元気づけるために彼に雲を引きます。 注:クラウドを描画しても、実際に彼を元気づけることはありません。 円は、3組として定義できます。(x,y,r)ここxで、デカルト平面上の円のx位置、デカルト平面上の円yのy位置、およびr円の半径です。xそしてy負でもよいです。r常にポジティブです。入力は、スペースで区切られた3タプルの形式の円のリストです。例えば: 3,1,1 3,2,1.5 1,2,0.7 0.9,1.2,1.2 1,0,0.8 3,1,1手段「に中心点を有する円3,11つの半径を有する。3,2,1.5手段」に中心点を有する円3,21.5半径を有します。 入力のこれらの円をすべてグラフに描画すると、次のようになります(わかりやすくするためにグリッド線とラベルを含めましたが、これらは必須ではありません)。 すべての円が凝集していることに注目してください。つまり、それらはすべて互いに重なり合っており、1つの大きなグループを形成し、残りの部分から分離された小さな円のグループはありません。入力は凝集性が保証されています。 ここで、これらの円によって形成される「境界線」の周りを移動する線を描き、他の線は一切ないとします。これは、すべての円によって形成されるシルエットの境界線を描くようなものです。結果のクラウドは次のようになります。 そのため、このクラウドは、境界を形成する入力内の円の円弧のみを描画することで形成され、単一の形状になります。言い換えると、クラウドは、別の円内にないアークを描くことによって形成されます。プログラムは、上記で説明した形式で入力を受け取り、結果のクラウドを表示する画像を出力します。雲の全体的な形状は正確でなければなりませんが、スケール、色、線の太さ、頂点の見え方はあなた次第です。クラウドが表示されている必要があるため、「このプログラムは白い背景に白い雲を描画する」、「このプログラムは無限に小さなスケールで雲を描画する」、「このプログラムは0の雲を描画する」また、境界線の色は塗りつぶしまたは背景の色と異なる必要があることに注意してください。 もう一つの例。入力: 1,4,2 5,2,1 3,1,1 3.5,2,1.2 3,3,0.7 1,2,0.7 出力: クラウドに「穴」がある場合は、穴も描画する必要があります。入力: 0,5,4 3,4,4 4,3,4 5,0,4 4,-3,4 3,-4,4 0,-5,4 -3,-4,4 -4,-3,4 -5,0,4 -4,3,4 -3,4,4 出力: 重要なルールは次のとおりです。プログラムは境界を形成する線のみを描画する必要があります。つまり、単純に円を完全に描画してから、白い塗りでわずかに小さい円を描画することはできません。このメソッドはまだ境界を形成しない線を描画するため、後でそれらを覆うだけです。ルールの目的は、「円を描いてから、白い塗りで円をもう一度描く」実装、またはそれに類似したものを防ぐことでした。答えは、実際に描画する前に描画する場所を実際に計算することです。 これはコードゴルフであるため、最短の文字数が優先されます。

10
怒りのカモ
絵文字>:Uが何を表しているのか、誰もはっきりとはわかりませんが、多くの学者は、それが怒っているアヒルのように見えると信じています。そうだと仮定しましょう。 仕事 0から3までの整数nが与えられた場合、印刷またはリターン quack n = 0の場合、 >:U もし、N = 1、 U U > : U U > U U > : U U UUU n = 2の場合、または >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U >:U …

24
アルファベットスープのボウルを作る
これは、アルファベットスープのボウルと呼ばれるものです。26個の大文字の英字(AZ)が周囲を形成するように時計回りに配置されたほぼ円形のascii-art形状です。 XYZABC VW DE U F T G S H RQ JI PONMLK AZという1文字の文字を取り込んで、いわば「回転」したアルファベットスープの同じボウルを出力するプログラムを作成します。つまりA、上記の例のように入力文字が表示され、残りのアルファベットが完全に循環します。時計回り。 したがって、入力の出力はA、アルファベットスープの元のボウルと同じになります。 入力の出力Bは次のようになります。 YZABCD WX EF V G U H T I SR KJ QPONML 同様に、の出力は次のHようになります。 EFGHIJ CD KL B M A N Z O YX QP WVUTSR またはのためにZ: WXYZAB UV CD T E S F R …

30
ASCIIダブルヘリックスを描く
stdinまたはコマンドラインを介して整数Nを取り込むプログラムを作成します。 Nが0の場合、1文字Oを標準出力に印刷する必要があります。 Nが正の場合、Nセグメント幅で描かれたこの水平 ASCIIアート二重らせんを印刷する必要があります。 Nが1の場合、出力は次のとおりです。 /\ O O \/ Nが2の場合、出力は次のとおりです。 /\ /\ O / O \/ \/ Nが3の場合、出力は次のとおりです。 /\ /\ /\ O / / O \/ \/ \/ Nが4の場合、出力は次のとおりです。 /\ /\ /\ /\ O / / / O \/ \/ \/ \/ パターンは、Nが大きい場合もまったく同じように続きます。/らせんが交差するすべての場所(O両端を除く)でスラッシュ()を使用する必要があることに注意してください。 Nが負の場合、-Nセグメントの高さで描かれたこの垂直 ASCIIアート二重らせんを印刷する必要があります。 Nが-1の場合、出力は次のとおりです。 O / \ \ …

30
単語をアルファベットグリッドに合わせる
今日見たミームに触発されました。 チャレンジの説明 無限のアルファベットグリッドを考えてみましょう。 ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ... (CODEGOLFこの例では)単語を取り、それをグリッドのサブシーケンスにし、未使用の文字をスペースに置き換え、無限グリッドの最後の文字をすべて削除します。 C O DE G O L F 例 STACKEXCHANGE ST A C K E X C H A N G E ZYXWVUTSRQPONMLKJIHGFEDCBA Z Y X W V U T S R Q P O N M L K J I …

27
Wordenticonsを生成する
識別子はハッシュ値の視覚的な描写であり、多くの場合、幾何学的形状の対称的な配置から作成されます。デフォルトのStack Exchangeアバターはidenticonです。この課題は、「wordenticons」、小文字の文字列、つまり単語に適用されるIDベースの単純なテキストベースのバージョンを作成することです。 チャレンジ 文字列Sを取り込んでその単語を出力するプログラムまたは関数を作成します。Sは空でないことが保証され、小文字の英字a〜zのみが含まれます。オプションで、Sの末尾に改行があると想定できます。 Sのwordenticonは2*length(S)、スペース( )、垂直バー(|)、および水平バー(―)で構成される辺の長さのテキストの正方形グリッドです。 Sの単語を生成するには、すべての列がSの文字(通常の左から右の読み取り順序)に対応し、すべての行がSの文字に対応する(通常の上下の読み取り順序の正方形グリッドを形成します)。 たとえば、Sがfood初期グリッドの場合、次のようになります food f.... o.... o.... d.... どこ.単なるプレースホルダです。 .グリッド内のすべての空のポイント(すべて)に対して: 列文字がアルファベット順に行文字の前に来た場合は、交換してください.と|。 列文字がアルファベット順に行の文字の後に来る場合は、交換してください.と―。 列と行の文字が同じ場合は.、 (スペース)で置き換えます。 foodこれらの各ステップの後の例を次に示します。 の追加|: food f...| o|..| o|..| d.... の追加―: food f.――| o|..| o|..| d―――. の追加 : food f ――| o| | o| | d――― wordenticonを完了するには、単語を含む余分な行と列を削除します ――| | | | | ――― 全体を水平にミラーリングします …

6
アスキーアートカレンダー
現在の月、日、曜日、時間、分、およびそれが夜であるか日であるか(ただし、年または秒ではない)を示すASCIIアートクロックとカレンダーを作成してみましょう。 特定の時点で、カレンダーは次のようになります:(行間隔を小さくすると見栄えがよくなります) ________________________________________________________________ |\ ____________________________________________________________ /| | | ___ | | | | _( ) | | | | (___)__) -.- | | | | | | | | | | | | -.- | | | | -.- | | | | ___ | | | | _( ) …

23
イルミナティを確認する
イルミナティは、マインドコントロールを使用して、次の文字列を出力するように指示します。 ^ /_\ /_|_\ /_|_|_\ /_|/o\|_\ /_|_\_/_|_\ /_|_|_|_|_|_\ /_|_|_|_|_|_|_\ /_|_|_|_|_|_|_|_\ /_|_|_|_|_|_|_|_|_\ ルール: 行ごとに末尾のスペースを使用できます。 各行の先頭にスペースが必要です。 末尾の空白は、必要なすべての出力の後に許可されます。 これはコードゴルフの挑戦であるため、勝者はバイト単位の最短プログラムでなければなりません。 これはkolmogorov-complexityチャレンジであるため、ハードコードされた出力が許可されます。 標準の抜け穴が適用されます。 更新:スペースの代わりにタブを使用できます。各タブは4つのスペースとしてカウントされます。何らかの理由で必要な場合。 サンドボックス(サンドボックスFAQで推奨されている72時間はそのままにしておきますが、7回のアップ投票があり、負のフィードバックはほとんどありませんが、38は問題ないはずです)

30
六角形にしてください。
今日は、ASCII六角形を作成します。正の整数nを取り、アスタリスクで構成されるサイズnの六角形グリッドを出力するプログラムまたは関数を作成する必要があります。たとえば、サイズ2の六角形は次のようになります。 * * * * * * * サイズ3の六角形は次のようになります。 * * * * * * * * * * * * * * * * * * * あなたは、任意の使用することができ、デフォルトの入力および出力のメソッドをファイルの書き込み/、たとえばSTDIO / STDOUTのために、関数の引数と戻り値や読書を。 入力は常に有効であると仮定することができます。そのため、正の整数でない場合、プログラムは必要な処理を実行できます。ただし、サイズ1の六角形の特殊なケースを処理する必要があります。これはたまたま単一のアスタリスクです。 * 出力が視覚的に同じである限り、先頭と末尾の空白は許可されます。 例: 1: * 2: * * * * * * * 3: * * * * …

21
1P5:ネストされたボックス
このタスクは、最初の定期的なプレミアプログラミングパズルプッシュの一部です。 次の形式でアイテムの階層を取得します。 2 Hat 1 Gloves 次のようにボックスに入れる必要があります: .------------. | Hat | | .--------. | | | Gloves | | | '--------' | '------------' 入力形式では、数字は指定された数のアイテムでボックスを開始します。最初のボックスには2つのアイテム(帽子とグローブが入ったボックス)があり、2番目のボックスには1つのアイテム(グローブ)しか入っていません。 ご覧のように、ボックスもボックス内に配置できます。そして、それらは常に丸みを帯びています...ある種(とがった角は傷の危険であり、私たちはそれを望まないでしょう)。 以下に、仕様が提供するあらゆる小さな余地を活用したい人のための厄介な詳細があります。仕様を読んでいないことは、間違った解決策を提出する言い訳にはなりません。最後にテストスクリプトといくつかのテストケースがあります。 仕様 ボックスは、次の文字で構成されています。 | (U + 007C)は、垂直エッジを構成するために使用されます。 - (U + 002D)は、水平エッジを構成するために使用されます。 ' (U + 0027)は丸い下隅です。 . (U + 002E)は丸い上部の角です。 したがって、ボックスは次のようになります。 .--. | | '--' Unicodeには丸い角と適切なボックス描画文字もありますが、このタスクはASCIIのみであることに注意してください。ユニコードが大好きなのと同様に、過去10年から10年ではまったく到達しなかった言語や環境が存在することを認識しています。 …

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