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

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

20
ファロは配列をシャッフルする
A ファロshuffleが頻繁に「シャッフル」デッキにマジシャンで使用される技術です。ファロシャッフルを実行するには、まずデッキを2つの等しい半分にカットしてから、2つの半分をインターリーブします。例えば [1 2 3 4 5 6 7 8] シャローファロは [1 5 2 6 3 7 4 8] これは何回でも繰り返すことができます。興味深いことに、これを十分な回数繰り返すと、常に元の配列に戻ります。例えば: [1 2 3 4 5 6 7 8] [1 5 2 6 3 7 4 8] [1 3 5 7 2 4 6 8] [1 2 3 4 5 6 …
31 code-golf  permutations  card-games  code-golf  graphical-output  random  code-golf  image-processing  color  code-golf  primes  code-golf  math  arithmetic  combinatorics  decision-problem  code-golf  sequence  number-theory  binary  code-golf  number-theory  set-theory  code-golf  hashing  code-golf  game  card-games  code-golf  ascii-art  code-golf  arithmetic  array-manipulation  jelly  code-golf  string  array-manipulation  code-golf  sorting  code-challenge  code-golf  number  date  binary  code-golf  arithmetic  code-golf  math  number  linear-algebra  polynomials  code-golf  ascii-art  code-golf  grid  decision-problem  code-golf  string  combinatorics  code-golf  string  kolmogorov-complexity  arithmetic  date  code-golf  number  data-structures  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  array-manipulation 

18
ビームは当たるでしょうか?
レーザーは、で示される4つの直交方向のいずれかで直線ビームを照射します<>^v。O長方形のグリッド上のターゲットにヒットするかどうかを判断します。 これらのそれぞれがヒットします(True): ..... ...O. ..... ...^. ..... >O. ... v.... O.... ........... ........... O.........< ........... これらは見逃します(False): ...... ...... .^..O. ...... .....> O..... ...... ...... .O. ... .v. .....<. ..O.... 入力:.少なくとも2x2のサイズの長方形のグリッドで、ターゲットはO1つで、レーザーは1つのみです<>^v。行は、文字列のリスト、2D配列または文字のネストされたリスト、またはオプションの末尾改行を含む単一の改行で区切られた文字列です。 出力:レーザービームがターゲットに到達した場合は一貫した真実の値、見逃した場合は一貫した偽の値。 正規表現(または組み込みのパターンベースの文字列照合)を別のカテゴリとして使用しないサブミッションを検討します。(no regex)言語名の後に置くと、回答がリーダーボードに個別に表示されます。 コードスニペットを表示 var QUESTION_ID=80196,OVERRIDE_USER=20260;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/80196/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 …

8
ASCIIポリゴンの面積
ASCIIアートポリゴンを表す文字列を入力および出力として受け取り、ポリゴンの領域を返すプログラムまたは関数を作成する必要があります。 入力は、文字で構成され、単純な多角形_ / \ L V spaceをnewline定義する文字列です(つまり、余分なセグメント、セルフタッチ、セルフ交差はありません)。 単一の文字セルの面積は 2 _サイズにセルを分割0し、2 \サイズにセルを分割1し、1 /サイズにセルを分割1し、1 Lサイズにセルを分割0し、2 Vサイズに細胞を分割1し、1(の双方はV、それらがリストに一緒に処理されるので、常にポリゴンの同じ側にあります。) すべての文字は、期待する文字セルの2つのコーナーを接続します(例:の場合は左上と右上V)。 面積が7の例(1+2+12行目と1+1+13 行目): _ / \ V\/ 入力 入力は長方形を形成します。つまり、改行の間には同じ数の文字があります。 多角形の任意の辺に余分な空白を含めることができます。 末尾の改行はオプションです。 出力 単一の正の整数、ポリゴンの面積。 例 出力は、入力の最後の行の後です。 _ V 1 /L \/ 3 /VV\ L / L/ 14 ____/\ \ / /\/ / \____/ 32 /V\ / \__ …

4
ASCII Doodling:ボックス内のレーザー
時々、だらだらしているときは、長方形を描き、角の1つから対角線で始め、長方形の辺に当たるたびにそれを「反映」することで線をトレースします。長方形の別の角に当たるまでこれを続けます(そして、長方形のアスペクト比が無理ではないことを願っています;))。これは、箱に照らされたレーザーの経路を追跡するようなものです。その結果をASCIIアートで作成することになります。 例として、幅5と高さのボックスを考えます3。常に左上隅から開始します。#マークボックスの境界。幅と高さは内側の寸法を参照していることに注意してください。 ####### ####### ####### ####### ####### ####### ####### #\ # #\ # #\ \# #\ /\# #\ /\# #\/ /\# #\/\/\# # \ # # \ /# # \ /# # \/ /# # \/ /# #/\/ /# #/\/\/# # \ # # \/ # # \/ # # …

30
シンプルASCIIガント
これは簡単です:ASCII ガントチャートを印刷します。 指定されたタスクの範囲(開始時間-終了時間のタプル)で、-各タスク期間(新しいタスクの各タスク)の文字の形式でガントタイムラインを印刷します。 例 私のタスクの範囲は28->35, 34->40, 39->44であるとすると、ガントは次のようになります。 ------- ------ ----- 仕様書 完全なプログラム、名前付き関数、または匿名関数を作成できます。 プログラム/関数は、STDINを介して、または引数としてタスクを受け入れる必要があります。 各タスクは、start->endwhere startおよびendare Integersの文字列として表される必要があります。タスクはスペースまたはカンマで区切られます。または、整数のタプル、または2つの整数の配列/コレクションとして取得することもできます。(たとえば、JavaScriptでは次のように取得できます[start,end]-これは許可されています)。 負でない数のタスク(引数)をサポートする必要があります。 明確にするために、タスクコレクションの単一の引数は許可されていません。単一の文字列引数を解析するか、0個以上のタスク引数をサポートできます。taskはサイズ2のタプルまたはコレクションです。 有効な入力のみが与えられると想定できます。つまり、各タスクには正の期間があります。 戻り値は重要ではありません。コードはSTDOUTにタイムラインを出力する必要があります。 出力:タスクごとに、startスペースの後に(end-start)ダッシュとaが続き\nます。 言うまでもなく、出力行は入力(タスク)順序に対応して順序付けする必要があります。 \nそれがあなたを助けるなら、前のスペースが許可されます。 テストケース Input: (empty) Output: (empty) Input: 0->7,5->6,3->6 Output: ------- - --- Input: 5->20,5->20,2->10,15->19 Output: --------------- --------------- -------- ---- 勝ち これはcode-golfであるため、最小のコード長(バイト単位)が優先されます。 従来、タイブレーカーは以前の投稿です。 「標準的な抜け穴はもはや面白くない」。 ----- 編集 多くの人が単一のタスクコレクション引数を持つことが許可されていることを理解しており、それと元のvarargs要件の 間には大きな違いがないため、使用しない場合は単一のコレクション引数を持つことが許可されていますvarargsオプション、または言語がvarargsをサポートしていない場合。

13
ランダムなASCIIアートキルトを描く
この課題では、ASCIIアートキルトは、幅24文字、高さ18行のテキストブロックであり、=-<>/\水平方向と垂直方向に対称なキルトのようなパターンの文字が含まれます。 キルトの例: ======================== ------------------------ //\\//\\\//\/\\///\\//\\ <<><<>>>>><<>><<<<<>><>> /\\/\\\\/\/\/\/\////\//\ ------------------------ /\/////\\///\\\//\\\\\/\ \///\/\/\\\\////\/\/\\\/ \///\/\/\\\\////\/\/\\\/ /\\\/\/\////\\\\/\/\///\ /\\\/\/\////\\\\/\/\///\ \/\\\\\//\\\///\\/////\/ ------------------------ \//\////\/\/\/\/\\\\/\\/ <<><<>>>>><<>><<<<<>><>> \\//\\///\\/\//\\\//\\// ------------------------ ======================== すべてのキルトの形式は同じです: それらは常に24 x 18です。 一番上の行(1行目)と一番下の行(18行目)が最後=です。 2行目、6行目、13行目、および17行目が-すべて横切っています。 ライン4と15が同じランダムで左右対称のパターン<と>。 他のすべての行(3、5、7、8、9、10、11、12、14、16)で満たされている/と\全体のキルトが残るように、完全にランダムな方法で、水平および垂直対称。 キルトを縦または横に正確に半分に折り畳むと、キャラクターの形が正確に一致することに注意してください。キャラクター自体が一致することと混同しないでください。たとえば、ライン3とライン16は同一ではなく、垂直鏡像です。 チャレンジ ランダムなASCIIアートキルトを印刷または返すプログラムまたは関数を作成します。 多くのハードコードされた行と対称性により、実際のランダム性は、行3、4、5、7、8、9の最初の12文字から得られます。 4行目の最初の12文字は、任意の長さの12文字の文字列である必要が<あり>ます。 3行目、5行目、7行目、7行目、8行目、9行目の最初の12文字は、任意の長さの12文字の文字列である必要が/あります\(互いに独立)。 これらのランダムな文字列は、それに応じてミラーリングされ、キルト全体が作成されます。 バイト単位の最短回答が優先されます。Tiebreakerは以前の投稿です。 擬似乱数ジェネレーターを使用できます。(いいえ、あなたがいることを証明する必要はありません、すべての 12のcharの文字列<>や/\、あなたの言語のPRNGで生成することができます。) 出力には、オプションで末尾の改行を含めることができますが、キルトに必要なもの以外に末尾のスペースやその他の文字は含まれません。

5
ワンライン水族館
義理の両親の庭には、pondでいっぱいの養魚池があります。次のコードからの抜粋に気付くまで、それは本当に私の頭をよぎりませんでした。 ',') & '_' ...スクリーンから魚の顔を振り返る... それは私に素晴らしいアイデアを与えました... あなたのための私の探求、私の愛するゴルファーは、次のルールで、1行のASCIIアクアリウムを作成することです。 タンクの側面からタンクの反対側までの水槽のサイズは、60文字以上80文字以下でなければなりません。タンクの側面は、パイプ/バー(|)文字を使用して示す必要があります。 魚は水槽の両側で左から右に「泳ぐ」ことができなければなりません。方向転換するため、一方の方向から他方の方向への移行には正面図が必要です。 魚は次のように見える必要があります。 }}< }} ',') 魚が泳ぐ権利 (',' {{ >{{ 魚が泳いでいる左 }}('_'){{ 正面を向いた魚 魚が方向を変えようとすると(30%の確率)、魚は一方向から始まり、正面を向き、次に反対方向を向く必要があります。魚が向きを変える十分なスペースがあることを確認してください。タンク最小のエッジ... 魚が泡を吹いたり方向を変えたりしない限り、魚が向いている方向に進み、水槽の側面の6つのスペース内に入れば、魚は方向を変えます。 魚(左または右)は​​時々(10%の確率で)泡を止めて連続して泡を吹く.oO*ことができます()サイドの近くで泳ぐだけで、スペースを1つ節約する。魚が進む前に泡が消えなければなりません... -ここでのコード表示機能は少し厳しいので、スペースを示す文字を含む魚の動作の一連の例の行...これをコーディングすると、これらのダッシュがスペースに置き換えられると予想されます... ここの各行は、コマ撮りのフレームと考えることができます。 |-}}< }} ',')----------| |--}}< }} ',')---------| |---}}< }} ',')--------| |----}}< }} ',')-------| |-----}}< }} ',')------| |-----}}< }} ',').-----| |-----}}< }} ',')o-----| |-----}}< }} ',')O-----| |-----}}< …

22
アスキーアートのゴルフ
ゴルフをしている男性を代表するこのアスキーアートをゴルフしてみましょう。 '\。。|> 18 >> \ 」| O >>。'o | \ | / \。| / /。 ' | jgs ^^^^^^^ `^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ 出典:JGS- http : //www.retrojunkie.com/asciiart/sports/golf.htm ルール: 入力不可 外部リソースは許可されていません 出力は、先頭および末尾の改行を含む等幅フォント(OSコンソール、JSコンソール、HTML <pre>タグなど)で表示されたこのテキストでなければなりません。 引用符または二重引用符を囲むことができます(文字列を出力するとき、JSコンソールは二重引用符を追加します、これは大丈夫です) 最良の答えは、どの言語でも少ない文字を使用することです。 楽しむ!

30
キャラクタークロス
私はPCGでの最初のパズルとしてもっと複雑なものを投稿することを期待していましたが、特定の、ええと... スタックオーバーフローに関する宿題の質問が私にこの投稿を促しました。彼らはしたい: 奇数の文字を含む任意の単語に対して次のパターンを印刷します。 P M R A O R G O R R A P M C ++ 文字は、印刷する必要のあるパターンでの騎士の動きです。したがって、他のすべての列は空です。-(これを指摘してくれたxnorに感謝します。) ルール C ++の使用は禁止されています。私はそこにこの質問をリンクするかもしれませんので。 あなたは使用することができstdout、またはすぐに文字列(例えば出力のいずれかの手段alert()JavaScriptでの)。 いつものように、最短のコードが優先されます。

7
ハウディ!私はコードゴルフの保安官です!
数か月前にTwitterを使った人なら誰でも、「ハウディ!私はX "ミームの保安官です。保安官のシンプルなイメージが絵文字で描かれ、テーマに合わせて変化します。だから、コードゴルフの保安官の時間だと思いました。 ### ##### ### ### ### # ##### # # # # # # # # # # ### # # # # # # # # 特にこれには、幅が1文字、高さが1文字の「ピクセル」があります。彼を生成するには、引数は1と1になります。 彼が背が高いよりも広くなるとどうなりますか? ###### ########## ###### ###### ###### ## ########## ## ## ## ## ## ## ## ## ## ## ###### ## ## …

15
ABAA / ABBB:この再帰的な2Dパターンを生成
次の興味深い再帰パターンに出くわしたとき、無限抵抗ネットワーク(長い話)をいじっていました。 |-|| |--- このパターンの各インスタンスは、高さの2倍の幅です。パターンのあるレベルから次のレベルに進むには、この長方形を2つのサブブロックに分割します(それぞれがNxNの正方形です)。 AB = |-|| |--- so A = |- |- and B = || -- これらの半分は、次のパターンに従って複製および再配置されます。 ABAA ABBB giving |-|||-|- |---|-|- |-|||||| |------- チャレンジ 数値を指定して、この再帰的設計のth番目の反復をN出力するプログラム/関数を作成しNます。これはゴルフです。 I / O形式は比較的緩やかです。単一の文字列、文字列のリスト、文字の2D配列などを返すことができます。任意の末尾の空白を使用できます。0または1のインデックスを使用することもできます。 例 パターンの最初のいくつかの反復は次のとおりです。 N = 0 |- N = 1 |-|| |--- N = 2 |-|||-|- |---|-|- |-|||||| |------- N …

14
火で殺します
免責事項:この質問の中で語られたストーリーは完全に架空のものであり、イントロを提供する目的でのみ発明されました。 私は邪悪な農民であり、私の地域で小麦の価格を引き上げるために、私は私の周りのすべての農民の畑を燃やすことにしました。私は本当に野原が炎上するのを見たいです(したがって、私は私の邪悪な笑いを使用して、喜びと手を一緒にこすることができます)私のために焼却された。 あなたのタスク: 入力としてフィールドを取り、フィールド全体が灰になるまで書き込みの段階を返すプログラムまたは関数を作成します。燃えているフィールドの特定のセクションは、炎の強度を表す整数で表されます。火災は「1」から始まり、「2」、次に「3」へと続きます。火災が「4」に達すると、火災で可燃性である直接(斜めではない)隣接エリアをキャッチします。「8」に達すると、次の反復で燃え尽き、「A」で表される灰に変わります。エリアがまだ火に触れていない場合、「0」で表されます。たとえば、フィールドが次のような場合: 100 000 あなたのプログラムはこれを出力するはずです: 100 000 200 000 300 000 410 100 520 200 630 300 741 410 852 520 A63 630 A74 741 A85 852 AA6 A63 AA7 A74 AA8 A85 AAA AA6 AAA AA7 AAA AA8 AAA AAA 必要に応じて、一貫性があり互いに異なる限り、上記の記号を選択した記号のセットに置き換えることができます。 入力: 上記の改行で区切られた文字列など、標準形式のフィールドの開始位置。 出力: 配列として、または何らかの文字で区切られた文字列として、書き込みのたびに繰り返されるフィールド。 テストケース: 0301 …

13
ASCIIアートの平方根
あなたはTeXやLaTeXなどを本当に嫌う数学者のインターンとして働いています。そのため、彼はすべての組版を放棄し、すべての書式設定をASCIIで行うことにしました。しばらくするとこれにうんざりし、平方根から始めて、その一部の自動化を開始することにしました。 平方根の作成方法は次のとおりです。 ### this is the input ### ### _____ put a row of underscores stretching one character off either side on top ### ### ### _____ put a diagonal of slashes in front going the height of the input / ### / ### / ### _____ put a diagonal …

30
斜めにカウントアップ!
数字には横軸がたくさんありますが、正直言って退屈なものだと思います。今日のあなたの仕事は、入力として与えられた2つの異なる非負整数の間の対角軸の一部を構築することです。 対角軸を作成する方法は? inputを使用して例を見てみましょう0, 5。軸は次のようになります。 0 1 2 3 4 5 ただし、軸の桁数が多い場合は、軸がきれいに見えるはずです!たとえば、入力がの場合、0, 14新しい軸は次のようになります。 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 考え方は、軸上の次の数字の最初の数字は常に前の数字の最後の数字の直後に配置する必要があるということです。アイデアをさらによく理解するために、次の例を使用し997, 1004ます。 997 998 999 1000 1001 1002 1003 1004 ルール 入力は昇順または降順であると仮定できます(との間5,3で選択できます3,5)。 また、2つの整数の差が100より小さいと仮定することもできます。 先頭の改行または一貫した先頭のスペース(各行)がある場合があります。末尾のスペース/改行も同様に問題ありません。 デフォルトの抜け穴は禁止されています。 任意の標準的な手段で入力を取得し、出力を提供できます。 これはcode-golfなので、すべての言語でバイト単位の最短コードが勝ちます! その他のテストケース 1, 10: 1 2 3 …

30
トレントUIのASCIIアート
問題 トレントプログラムからUIを再作成する 入力がない場合、次を出力します。 +----------+----------+----------+ |a.exe |##########|seeding | +----------+----------+----------+ |b.exe 10% |# |leeching | +----------+----------+----------+ |c.exe |##########|seeding | +----------+----------+----------+ |d.exe 20% |## |leeching | +----------+----------+----------+ |e.exe |##########|seeding | +----------+----------+----------+ |f.exe 30% |### |leeching | +----------+----------+----------+ |g.exe |##########|seeding | +----------+----------+----------+ |h.exe 40% |#### |leeching | +----------+----------+----------+ |i.exe |##########|seeding | +----------+----------+----------+ |j.exe 50% …

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