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

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

30
クリスマスツリーを印刷する
チャレンジ 最短のコードを使用して、上部に星印を付けた素敵なクリスマスツリーを印刷します。ツリーの星はアスタリスク(*)で、ツリーの本体はで作られてい0ます。ツリーの高さは10行でなければなりません。すべての行は、前の行が次の行の中央にくるように適切にインデントする必要があります。最初の行が星で、2番目の行が1つだけである場合を除いて、指定された行には前の行よりも2多い0が必要です。結果は次のようになります。 * 0 000 00000 0000000 000000000 00000000000 0000000000000 000000000000000 00000000000000000 ソフトウェアを変更せずにサイズ変更可能な高さツリーのタイブレーク(高さパラメーターの変更を除く) 作成したコードのツリーも貼り付けてください! リーダーボード コードスニペットを表示 var QUESTION_ID=4114,OVERRIDE_USER=73772;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px} <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" …

12
埋め込みダイヤモンド!
いいえ、これではありません。これでもありません。この質問はそれらのようなものではありません 次の出力を印刷または返すための最短のコードを記述します。 /\ /\ /\ / \ / \ / \ / /\ \ / /\ \ / /\ \ / / \ \/ / \ \/ / \ \ \ \ / /\ \ / /\ \ / / \ \/ / \ \/ / \ \/ / \ …

15
任意の間隔ルーラー
長さと間隔のリストを取得し、線描画文字を使用して各間隔の長い目盛りでその長さのルーラーを出力するプログラムを作成します ┌ ┬ ┐ │ ╵ 出力の最初の行は0のためのダニで始めるべき┌との長さのためにダニを有すると端┐と、┬の間のすべての文字のために使用されています。lengthこの最初の行には、合計+ 1個の線画文字が含まれます。 入力間隔を使用╵し│て、入力間隔に基づいて、半角刻みでティックを垂直方向に長くする必要があります。 間隔は、その前の間隔に対して、最小から最大の順にリストされます。詳しく説明するには: 最初の間隔は、2番目に小さい間隔(最小間隔は1)にある基本ティック(最初の行-ティックごとに1文字)の数を示します。たとえば、[3]は3文字ごとに半角だけ長くなります。 2番目以降の間隔は、次に小さい間隔に基づいています。たとえば、[3、5]は15文字ごとに完全な文字だけ伸び、[3、5、2]は30文字ごとに1文字半ずつ伸びます。 サブ間隔1は有効であり、事実上、最後の間隔行がハーフ文字ではなくフル文字だけ延長されることを意味します。 サンプルテストケースは、これがどのように機能するかを明確にするのに役立ちます。 例/テストケース 3、[]: ┌┬┬┐ 9、[3]: ┌┬┬┬┬┬┬┬┬┐ ╵ ╵ ╵ ╵ 30、[5、2]: ┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐ │ ╵ │ ╵ │ ╵ │ 32、[4、2、2、2]: ┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐ │ ╵ │ ╵ │ ╵ │ ╵ │ │ ╵ │ 48、[5、3、2] ┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐ │ ╵ …

16
怪しげに幸せなレニーの顔の暴徒を作る(͡°͜ʖ͡°)
私はRedditの奇妙なスレッドを通り抜けていましたが、これに遭遇しました: (͡°(͡°͜ʖ(͡°͜ʖ͡°)ʖ͡°)͡°) やや不審に笑っている人々のグループを表している。 (ただし、以下の課題では、課題の作成中に右目左のスペースが何らかの形で削除されました。仕様に注意してください)。 あなたの目標はn、次のルールで笑顔のレニーの顔のグループを作成することです。 深さ1では、顔全体(( ͡° ͜ʖ ͡°))が表示されます。 深さ2では、半分の面が表示されます。左側には、顔の半分を少し上回ります(( ͡° ͜ʖ)。ただし、右側には右側が表示され、口は省略されています(ʖ ͡°)) どれより深く、そして唯一の頭と目の側面が示され(されている( ͡°と͡°)。頭の目と左側の間にスペースはありませんが、外見にもかかわらず、そこにある、右側にはスペース。間隔が原因で͡どの文字物事を少し混乱させる。 入力: n、表示する顔の深さのレイヤー数を示します。 nは常に範囲内にあります0 <= n <= 500。この範囲外のものを処理する必要はありません。 n0が面を持たない代わりに1つの面を意味するように、1でオフセットすることができます。ただし、-1を処理する必要があります。 出力: 文字列、文字配列、またはリモートで比較可能なもの(Python / Javascriptの1文字の文字列のリストなど)。直接印刷することもできます。末尾の空白は問題ありません。 完全なプログラムまたは機能を送信できます。 どのキャラクターが関係しているかを見るのは難しいので、Pythonでレイアウトされています。 >> [ord(c) for c in '( ͡° ͜ʖ ͡°)'] [40, 32, 865, 176, 32, 860, 662, 32, 865, 176, 41] >> …

30
拡大する矢印を描く
この課題は、成長する一連のASCIIアート矢印を印刷することです。パターンを言葉で説明しますが、このシリーズの始まりがどのように見えるかを見る方が簡単かもしれません。 > < -> <- --> <-- ---> <--- ----> <---- -----> <----- ------> <------ ... 長さnの矢印には、矢印(<または>)とn-1ダッシュ(-)が含まれます。右向きの矢印には最初にダッシュがあり、次にがあり>ます。左向きの矢印はで始まり、<その後にダッシュが続きます。シリーズは、n右向きの長さの矢印とそれに続く左向きの長さnの長さで構成され、nは1から無限大です。 チャレンジを完了するには、1つの入力(整数i >= 1)を受け取り、最初のi矢印を出力するプログラムまたは関数を作成します。矢印は、左右のペアではなく個別のものi=3です。したがって、出力する必要があります。 > < -> 文字列のリストを返すか、次々にそれらを印刷できます。印刷する場合、矢印は一貫した区切り記号で区切る必要があります。区切り記号は、例のように改行である必要はありません。 これはcode-golfであるため、最小バイトが勝ちます。

30
数字モザイクをデザインしましょう
チャレンジ 正の整数与えられ、NNNその各桁d1,d2,d3,⋯,dnd1,d2,d3,⋯,dnd_1, d_2, d_3, \cdots, d_nを内の位置に対応する回数繰り返しNNNます。換言すれば、各桁dkdkd_k繰り返されるべきkkk回(各1≤k≤n1≤k≤n1\le k\le n、1インデックス)こうして新たな数を作成し、: d1d2d2d3d3d3⋯dndndn⋯dnn times¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯d1d2d2d3d3d3⋯dndndn⋯dn⏟n times¯\overline{d_1d_2d_2d_3d_3d_3\cdots\underbrace{d_nd_nd_n\cdots d_n}_{n\text { times}}} 次に、水平方向と垂直方向の両方に書き留めて、空白の列インデックスと行インデックスの間の大きいインデックスに対応する数字のコピーで空白を埋めます。最終的な出力は次のようになります。 ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢d1d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥[d1d2d2d3d3d3⋯d2d2d2d3d3d3⋯d2d2d2d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯d3d3d3d3d3d3⋯⋮]\begin{bmatrix} \color{red}{d_1} \color{green}{d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{green}{d_2 d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{green}{d_2 d_2 d_2} \color{blue}{d_3 d_3 d_3} \cdots \\ \color{blue}{d_3 d_3 d_3 d_3 d_3 d_3} \cdots \\ \color{blue}{d_3 d_3 …

26
ジグザグパターンを作る
あなたの仕事は、1つの整数入力を取り、スラッシュとバックスラッシュを使用してジグザグパターンを印刷することです。 整数入力は、各ジグとザグの長さ、およびジグとザグの数を決定します パターンは常に右から左に始まります テストケース 4-> / / / / \ \ \ \ / / / / \ \ \ \ 2-> / / \ \ 0-> 1-> / 8-> / / / / / / / / \ \ \ \ \ \ \ \ / / / / …

12
輪郭を描く
標高の長方形のマトリックスを指定して、その輪郭を描きます。 仕事 の場合、2つの要素xとyは同じ輪郭レベルにありますfloor(x/10) == floor(y/10)。たとえば、52と58は同じ等高線レベルにありますが58、そうで64はありません。 輪郭を描く動作は次のように定義されます。すべての要素についてe、次のように選択した2文字の文字列に置き換えます。 最初の文字は" "、下の要素eが同じ輪郭レベルにあるeか、下の要素がないかe、"_"そうでない場合 2番目の文字は" "、右側の要素がe同じ輪郭レベルにあるeか、右側の要素がない場合、eまたは"|"そうでない場合 行内の要素が結合され、次に行が改行で結合されます。 例 入力が[[5,20],[3,6]]、次のように視覚化されているとしましょう 5 20 3 6 最初に見てください5。以来、3同じ等高線レベルであり5、最初の文字です" "。20はと等高線レベルにないため5、2番目の文字は"|"です。 今、私たちは見てください20。6はと等高線レベルにないため20、最初の文字は"_"です。の右側に要素がないため20、2番目の文字は" "です。 今、私たちは見てください3。下3に要素がないので、最初の文字は" "です。以来、6同じ等高線レベルにあり3、第二の文字があります" "。 今、私たちは見てください6。下6に要素がないので、最初の文字は" "です。の右側に要素がないため6、2番目の文字は" "です。 これらの2文字の文字列に基づいて、getを置き換える[[" |","_ "],[" "," "]]。これらを結合すると、次の出力が得られます |_ ルール 入力行列は常に長方形で、正の整数で構成されます。 末尾のスペースまたは改行は任意の量(0を含む)であり、一貫性がある必要はありません。 同じ結果が得られる限り、同じアルゴリズムに従う必要はありません。 プログラムまたは関数は、改行で区切られた文字列、文字列のリスト、または同等のものを出力する場合があります。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース input output [[1,5,8,9],[3,11,13,8],[7,14,10,9],[4,8,7,6]] _ _ | | |_ _| [[0,10,20,30,40,50,60,70,80,90],[0,0,10,10,20,20,30,30,40,40],[0,0,0,10,10,10,20,20,20,30],[0,0,0,0,10,10,10,10,20,20],[0,0,0,0,0,10,10,10,10,10],[0,0,0,0,0,0,10,10,10,10],[0,0,0,0,0,0,0,10,10,10],[0,0,0,0,0,0,0,0,10,10],[0,0,0,0,0,0,0,0,0,10],[0,0,0,0,0,0,0,0,0,0]] …

11
カードの家(バージョン1)
バージョン2はこちら。 簡単な課題:整数を指定すると、指定した数のストーリーを持つカードの家を描きます。数値が負の場合、家を上下逆さまに描きます。例: Input: 2 Output: /\ -- /\/\ Input: 5 Output: /\ -- /\/\ ---- /\/\/\ ------ /\/\/\/\ -------- /\/\/\/\/\ Input: 0 Output: <empty, whitespace or newline> Input: -3 Output: \/\/\/ ---- \/\/ -- \/ 入力は数値または文字列にすることができます。出力は示されているとおりで、先頭および/または末尾のスペースと改行が許可されている必要があります。 これはcode-golfなので、各言語の最短のプログラム/機能が勝つかもしれません!

10
いくつかのダイヤモンドをダブルアップ
問題 nここで正の整数を与えますn < 100 次のようにダイヤモンドパターンを出力します。 入力 n=1 /\/\ \/\/ 入力n=2: /\ /\ //\\/\/\//\\ \\//\/\/\\// \/ \/ 入力n=3: /\ /\ //\\ /\ /\ //\\ ///\\\//\\/\/\//\\///\\\ \\\///\\//\/\/\\//\\\/// \\// \/ \/ \\// \/ \/ 入力n=4: /\ /\ //\\ /\ /\ //\\ ///\\\ //\\ /\ /\ //\\ ///\\\ ////\\\\///\\\//\\/\/\//\\///\\\////\\\\ \\\\////\\\///\\//\/\/\\//\\\///\\\\//// \\\/// \\// \/ \/ …

8
私の子供のために階段を作ります
先日、息子はレゴのようなブロックを使って階段を作るように頼みました。そして、私はこのようなものを思いつきました: それから私の子供は、コンピューター画面で同様の階段を生成する最小バイト数を使用するプログラムを私に尋ねました。私はcode-golfが得意ではないので、あなたの助けが必要です。次のプログラムが必要です。 階段に必要なレベルの数を持つ正の整数を受け取ります。 画像に表示されているパターンを使用して、階段の図面を出力します。 出力はテキスト形式になりますが、ブリックは互いに区別できます。たとえば、「█」文字をブロックの半分として使用して、好きな色で塗りつぶしたり、任意の文字を選択したりできます。 制限事項: ブロックは3種類の色である必要があり、できるだけ長く使用されます(入力が1または2の場合、3色すべてを使用するのに十分なブロックがありません)。必要に応じて、たとえば「░▒▓」文字を使用するか、3つの異なる文字を選択するだけです。 同じ色またはパターンの2つのブロックを1列に並べて配置することはできません。 私の息子は、階段が描かれている限り、後続のスペースや改行を気にしません。 例(文字の選択が悪いのでごめんなさい): Input: 1 Output: ██ Input: 2 Output: ██ ▓▓ Input: 3 Output: ██ ▓▓ ██░░ Input: 5 Output: ██ ██ ██░░ ██░░ ██░░▓▓

3
バズビーバークレーロボットホーキーポーキー
バズビーバークレーロボットホーキーポーキー 仕事 Busby Berkeleyの数字のスタイルでHokey Pokey(またはお好みであればCokey)の歌詞に合わせて踊るロボットのラインを描いたASCIIアートアニメーションを作成するプログラムまたは関数を作成してください! 出力例 入力 3つの引数を受け入れます(有効と見なされます)。 N =ライン内のロボットの数(最小= 6) B =ミリ秒単位の1つの「ビート」の持続時間(最小= 10) D =連続するロボット間のミリ秒単位の遅延(Min = 0) (上記の出力例では、N = 8、B = 380、C = 75) 仕様書 N台のロボットがステージ上に連続して表示されます。 「詩」からの1行のテキストがステージの下に一度に表示されます(中心が1文字以内で、引用符で囲まれています)。 ロボットは、詩が5回繰り返されるまで、示されているとおりに各行のアクションを実行します。 アクションは、ASCII文字のセットを使用してロボットを描写し、次のアクションを実行する前に指定された期間待機することによって実行されます。アクションの継続時間は「ビート」で測定されます。1ビートの持続時間はミリ秒数Bです。 最初のロボットは、行のテキストが表示されるとすぐに、詩の各行に対してアクションの実行を開始します。 後続の各ロボットは、右側のロボット(左側)がアクションを開始してから特定の時間(D)までアクションの開始を遅らせます。 ロボットの描写は、ロボットの「アンテナ」を表すASCII文字によって異なります。5つのタイプがあり、プログラムが実行されるたびにランダムに配布されます。 各タイプのアンテナは少なくとも1つのロボットで使用する必要がありますが、3つ未満のロボットで区切られたロボットには同じタイプを使用しないでください。任意の2種類のアンテナの量は、1を超えて異なることはできません(たとえば、1xType_4および3xType_5は3-1> 1なので違法です) 詩とアクション 詩全体が一度に1行ずつ5回繰り返されます... Line Text Action/Beats, ---- ----------------------------- ------------------------------------ 1 You put your ? in ??/4 …

9
ナンバーロッカー!
正の整数<100(1〜99、1と99を含む)を指定すると、その数のロッカーが出力されます。 ロッカーは次のように定義されます。 +----+ | | | | | | | nn | +----+ ここnnで、10を基数とするロッカー番号です。1桁の数字がある場合、その前に0を付けて表します。たとえば、ロッカー番号2は番号を表示します02。 ロッカーは積み重ねることができますが、最高2つまでです。 +----+ | | | | | | | on | +----+ | | | | | | | en | +----+ onは、奇数、偶数を示しenます。ロッカーは隣同士に置くこともできます。 +----+----+ | | | | | | | | | | 01 | …

21
ASCIIの宝石をいくつか彫ってください!
3月13日は、このチャレンジのテーマであるナショナルジュエルデーとして認められています。だから、整数与えられた0よりも大きい場合、ASCIIの宝石を作成します。例えば:nn n = 1 n = 2 n = 3 ______ ____ / \ __ / \ \ / / \ \ / \ / \ / \ / \ / \/ \/ \/ 底は宝石の一番下のものとして定義され\/ます。残りはトップです。上記の例の場合n = 1: Bottom: \ / Top: __ \/ / \ ご覧のように、底は、宝石の底から最大の線が入った、間にスペースがあるn + 1層で構成され\/てい(1 * lines …

18
黄色の木で分岐した2つの道路(パート2)
これはシリーズの2番目で、3番目は黄色の木で分岐した2つの道路です(パート3) これは、私の以前の課題であった黄色の木に分かれた2つの道路(パート1)に基づいています。かなり好評でしたが、かなり些細なものでした(Javaの52バイトの回答です!) インスピレーション この課題は、ロバートフロストの有名な詩「The Road Not Taken」に触発されたものです。 2本の道が黄色い木に分かれていて、 残念ながら私は両方を旅行することはできず 、一人の旅行者であり、長く立ち、そしてできる限り 1本を見下ろした 。 ... 2段落トリミング... 私はこれを どこか年齢と年齢のためにため息をつくことで伝えます 。2本の道が森の中に分かれていて、 私は旅の少ない方を連れて行きました 。 最後から2番目の行に注目してくださいI took the one less traveled by,。あなたの目標は、文字列入力で最も移動の少ない道路を見つけることです。互いに異なる2つの値のいずれかを出力する必要があります。この値は、どの道を曲がって道路の移動量を減らすかを示します。道路の分岐点(六角形の軌跡が数字に変わる)が交差点にあります。そこから、数字で構成される2つのパスがあります。数字の合計が最小のパスは、撮影されていない道路になります。通行されていない道路のパスは大きいが、パスの合計は小さいことに注意してください。以下は、使用されていないパスに対して「左」または「右」を出力するプログラムの例/テストケースです。 1 2 1 2 1 2 # # # left (3 < 6) 1 2 2 2 1 1 # # # left (4 …

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