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

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

18
シャッフルアップとディール!
金曜日だから疲れたので、さっそくやってみましょう!何も入力しませんが、標準のカードデッキにある13枚の異なる番号のカードをすべて出力する必要があります。Ace(Suit agnostic)を介して2を出力する必要があります。 各カードの上部には、スペース と10個_のスペースがあり ます。 上から2番目の行は、a /と10個のスペース 、a\ 3番目の行は、カードの値を示す文字がエッジの右に2スペース(上にある場合)または左に2スペース(下にある場合)に表示されることを除いて、すべての中程度の行と同じです。 それぞれの真ん中の行はシンプルで|、10個のスペース ともう1 個のスペースです。| 最後の行はa \と10で_あり、最後に/ 値が複数桁の場合、カードの全体の幅と高さは変わらないはずです。(つまり、10はカードの側面を広くしません) キングの例: __________ / \ | K | | | | | | | | | | | | K | \__________/ 9例 __________ / \ | 9 | | | | | | | | …

17
レイヤードケーキを印刷する
チャレンジ input nを指定すると、ASCIIアートケーキnレイヤーを横から見た高さで印刷し、上に2本のろうそくを載せます。詳細については、以下の例を参照してください。 出力 >> cake(1) _|_|_ | | +-----+ >> cake(3) _|_|_ | | +---------+ | | +-------------+ | | +-------------+ ...等々。 ルール 禁止されている標準的な抜け穴 賢い解決策を試みてください これはcode-golfであるため、バイト単位の最短回答が優先されます。ただし、答えは選択されません。 楽しんで!

9
ゴルフABCのコード:ASCIIボックスチャレンジ
2つの正の整数 'a'および 'b'を指定すると、幅がa文字、高さがb文字のASCIIアート「ボックス」が出力されます。たとえば、「4」と「6」の場合: **** * * * * * * * * **** 簡単でしょう?ここにひねりがあります:ボックスの境界線は、交互に「a」と「b」の文字でなければなりません。これは左上隅から始まり、時計回りのスパイラルで続きます。たとえば、4と6の前の例は次のようになります。 4646 6 4 4 6 6 4 4 6 6464 AとB は 2桁の数字です。たとえば、入力「10」および「3」はこれを出力する必要があります。 1031031031 1 0 3013013013 出力を比較的小さく保つために、3桁以上の数字をサポートする必要はありません。また、入力は正の整数に制限されているため、「0」は無効な入力であり、処理する必要はありません。 以下に、さらにいくつかのテストケースを示します。 Input: (3, 5) Output: 353 5 5 3 3 5 5 353 Input: (1, 1) Output: 1 …

5
代数曲線プロッター
代数曲線は{(x,y) in R^2 : f(x,y)=0 }、多項式のゼロのセットとして記述できる「2D平面」の特定の「1Dサブセット」ですf。ここでは、2D平面を実際の平面と見なし、R^2そのような曲線がどのように見えるかを簡単に想像できるようにします。基本的には鉛筆で描くことができます。 例: 0 = x^2 + y^2 -1 半径1の円 0 = x^2 + 2y^2 -1 楕円 0 = xy十字形状、基本的にx軸の組合とy軸 0 = y^2 - x 放物線 0 = y^2 - (x^3 - x + 1)楕円曲線 0 = x^3 + y^3 - 3xy デカルトの葉 0 = x^4 …

6
ASCIIアートマヤの数字
この挑戦は簡単です。数値を指定して、Mayan Base-20数字システムを使用して、数値のascii-art表現を出力します。 マヤシステムとは何ですか? マヤ人は20を基数を格納するため、最初の位置は1sプレイス、次は20sプレイス、そして400 sなど。 したがって、マヤの数1は110を底にしています10が、実際に20は10を底にしてい207ます807等のベース10、中... そして、彼らは数字を絵文字として表し、特別な記号を付けました0。 ------------------- | | | | | | | | | | |-------------------| | | | | ------------------- それは彼らのゼロでした。(少なくともpicascii半分私の芸術のアスキーアート版の半分) これはマヤのゼロ記号の実際の図です。1 これは彼らの5つでした: -------------------------------- | | -------------------------------- そして4: ---- ---- ---- ---- | | | | | | | | | | | | | | …

7
インデックス付きフラクタルを描く
前書き この課題では、2×2マトリックスに次のようにインデックスが付けられます。 0 1 2 3 フラクタルのようなパターンのファミリーを定義しますF(L)。ここでLは、nこれらのインデックスの長さリストであり、F(L)size を持ちます。2n-1 × 2n-1 の場合L == []、F(L)は1×1パターン#です。 の場合L != []、F(L)次のように構築されます。ましょう最初の要素が削除されたPから取得されたパターンになりますL。ピリオドで満たされたサイズの4つのグリッドを取得し、インデックス付きのグリッドをパターンで置き換えます。次に、グリッドの間にハッシュの1つの層を使用してグリッドを接着します。以下に4つのケースの図を示します。2n-1-1 × 2n-1-1.L[0]P# L[0]==0 L[0]==1 L[0]==2 L[0]==3 #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...# ...#... ...#... ####### ####### ####### ####### ...#... ...#... #... ...# ...#... ...#... [P]#... ...#[P] ...#... ...#... #... ...# …

7
ひもを風車に変える
このサイトのコードは急速に枯渇しています。再生可能なストリングに投資する必要があります。そのため、文字列を取得して風車に変換するプログラムを作成する必要があります。 チャレンジ 簡単な風車のひもを例に取りましょう。文字列を取りますabc。ピボットは、この場合、中央の文字、ですb。文字列は3文字の長さであるので、すべての出力は次のようになります正確に背の高い3行3つの文字幅。手順1の出力を次に示します(空白に注意してください)。 abc 次のステップに進むには、ピボットを中心に各文字を時計回りに回転させます。これがステップ2です。 a b c 手順3〜8は次のとおりです。 a b c a b c cba c b a c b a c b a そして、9番目のステップで、元の文字列に完全な円を描きます。 abc bずっと同じ場所に留まったことに注意してください。これはb、ピボット文字であるためです。入力として文字列を受け取り、プログラムが終了するまでこのシーケンスを繰り返し出力するプログラムまたは関数を作成する必要があります。 明確化 すべての入力文字列の文字数は奇数です。(すべての風車がピボットを持つように) チャレンジを簡単にするために、すべての文字列には大文字と小文字のアルファベットのみが含まれます。 出力はlen(input_string)文字の幅と高さでなければなりません。 永遠に回転とループを続ける限り、シーケンスのどのステップから始めても構いません。 より多くのテストIO: 投稿はすでにかなり長いため、「windmill」の出力へのリンクを次に示します。 サイドノート: これは風車であるはずなので、小さな時間遅延または各ステップ間のユーザー入力でアニメーション化するボイラープレートコードを含めると素晴らしいでしょう。ただし、一部の言語には時間の組み込み機能がないため、これは必須ではありません。提出物の競合部分は、できるだけ早くシーケンスを印刷できます。

2
Snake Parserを作成してください!
ヘビは次のようになります。 >>>v @ ^ v ^ >>>^ v ^ v ^<<<<<<<<< この場合のように、ヘビは自分自身を横切ることができます: @ ^ >^>v ^<< クロスオーバーを有効にするには、両側のキャラクターが同じ方向に移動している必要があります。の場合 @ >^v ^< 不明確で無効と見なすことができます。 出力はWASD、先頭から末尾に向かうことを表す文字列です(@)。 バックトラックせず、あいまいでもないヘビを考えると、ヘビがとる動きの文字列を出力するプログラムを作成できますか? これはコードゴルフなので、最短の回答が勝ちます! テストケース: (注:@はにない任意の文字に置き換えることができますv^<>) 入力: >>>>v v v<< @ v ^ >>>>>^ 出力: ddddssaassdddddww 入力: @>>v ^ v ^ v ^<<< 出力: dddsssaaawww 入力: >>>v v @ v …

1
ASCIIアートを生成する
入力として合理的なロスレス形式の白黒画像が与えられた場合、可能な限り入力画像に近いASCIIアートを出力します。 ルール 改行とASCIIバイト32-127のみを使用できます。 入力画像はトリミングされ、画像の周囲に余分な空白がないようにします。 提出は、5分以内にスコアリングコーパス全体を完了することができる必要があります。 生のテキストのみが許容されます。リッチテキスト形式はありません。 スコアリングで使用されるフォントは20ポイントのLinux Libertineです。 出力テキストファイルは、以下で説明するように画像に変換される場合、入力画像と同じサイズである必要があり、いずれかのサイズで30ピクセル以内に収まります。 得点 これらの画像はスコアリングに使用されます: ここから画像のzipファイルをダウンロードできます。 このコーパス用に提出を最適化するべきではありません。むしろ、同様の寸法の任意の8つの白黒画像に対して機能するはずです。投稿がこれらの特定の画像に最適化されていると思われる場合、コーパス内の画像を変更する権利を留保します。 スコアリングは次のスクリプトを介して実行されます。 #!/usr/bin/env python from __future__ import print_function from __future__ import division # modified from http://stackoverflow.com/a/29775654/2508324 # requires Linux Libertine fonts - get them at https://sourceforge.net/projects/linuxlibertine/files/linuxlibertine/5.3.0/ # requires dssim - get it at https://github.com/pornel/dssim import PIL import PIL.Image …

5
海岸線を見つける
あなたの仕事は、ASCIIマップで提供される島の地図の海岸線の長さを見つけることです。入力マップは#、土地を示す1つ以上の文字と、水を示すスペースで構成されます。海岸線は、内陸の湖や島を含む、陸と水の間の端と見なされます。 ソリューションは、ファイル、文字列、または文字列の配列を読み込み、画面または標準出力に単一の整数を出力する完全なプログラムでなければなりません。各入力行には、先頭または末尾のスペース、およびゼロ個以上のハッシュ文字を含めることができます。マップの境界は、スペース(水)と見なされます。 行の長さは異なる場合があります。 例: Input: ## ## Output: 8 Input: ### ### ##### # ## Output: 26 Input: ##### # # # # # # # ##### Output: 36 これはコードゴルフであるため、最小のバイトカウントが優先されます。

4
シンプルなきれいなコメントツールを作成する
チャレンジ: 一部のascii-artは作成が苦痛ですが、特にコードが密集している場合は、コードのコメントを読みやすくします。課題は、コメントを矢印付きの単純なASCIIアートに変換する単純なツールを作成することです。変更するコメントは空のコメントで区切られます。 たとえば、Haskellのコメント構文を想定して、これを変換します。 -- -- Here's a thing -- Here's another thing -- The most important thing -- * * * -- f x=x+1*x*1*1*0 これに: -- /------------< Here's a thing -- | /-------< Here's another thing -- | | /-< The most important thing -- | | | -- v …

4
妖精チェスの「跳躍」運動パターン
リーパはで動く変則チェスピースのカテゴリである「ジャンプ。」通常の騎士は(1,2)-リーパーです。つまり、各移動には、直交方向に1正方形、垂直方向に2正方形の距離を移動する必要があります。 .o.o. o...o ..N.. o...o .o.o. 多くの異なる跳躍者がいます。(1,3)-リーパーはロングナイト、またはキャメルと呼ばれます。その移動パターンは次のようになります。 ..o.o.. ....... o.....o ...L... o.....o ....... ..o.o.. (2,2)Alfilもあります... o...o ..... ..A.. ..... o...o ...さらに(0,1)ワジール。 .o. oWo .o. チャレンジ 数値のペアを入力として、対応する運動図を出力します。入力をSTDIN /コマンドライン経由で、または引数として提供し、出力をSTDOUTまたは戻り値で提供して、プログラムまたは関数を作成できます。これはcode-golfです。 入力 入力は、2つの整数と大文字のコンマ区切りリストになります。2つの整数は、範囲内0-7(両端を含む)で、減少しない順序になります。入力および出力のオプションの末尾の改行。 上記の4つの例の入力を次に示します。 1,2,N 1,3,L 2,2,A 0,1,W 出力 出力は、正方形の複数行の文字列になります。大文字は、作品の現在の場所を表すために中央に配置されます。移動場所は、4個または8個の小文字で表されますo。正方形内の他のすべてのスペースはピリオドで埋められます。 移動パターンがの場合、0,0大文字のみを出力します。 ヒントとして、2番目の整数(大きい方)の値がNの場合、正方形の辺の長さは常に2N + 1になります。osが常に広場の周囲になります。 追加のテストケース 1,1,F o.o .F. o.o 5,7,Q ..o.........o.. ............... o.............o ............... …

2
ユークリッドベクトル
2つのベクトルのASCIIアートが与えられた場合、結果のベクトルの大きさと次数を見つけます。 入力 これは、STDIN経由で受信したり、ローカルファイルから読み取ったり、関数呼び出しで提供したりできます。2つのベクトル入力の例を次に示します。 ^------> | | | x これは、北4ユニットと東7ユニットの変更を表します。すべての入力の開始点はx(10進数120)で表されます。 すべてのベクトルは水平線または垂直線です。 各ベクトルには、次の4つのエンドポイント^v<>のいずれかがあります:、ダッシュ(-、10進数45)または垂直バー(|、10進数124)のいずれかで構成されます。 平面上の空のポイントはスペースで埋められます(、10進数の32)。 入力は単一の場合がありxます。 隣接するベクトルは常に互いに垂直です。 すべてのベクトルは先端から末尾です。 出力 これは、結果のポイントの変位(開始ポイントからの距離)と、開始ポイントに対する相対的な移動の程度になります。 上記の入力の場合、出力は8.06単位と60.3度である必要があります。それぞれに正確に3つの有効数字が必要です。有効数字3桁の数字の例を次に示します。 1.00 60.1 453 7.08 4.50 349 すべての単位の測定値はになります<= 999。 これらの番号は、以下の形式で出力されるはずです。これは上記の数字を使用しています。 8.06 units @ 60.3 degrees この後に、単一の末尾スペースまたは改行が続く場合があります。 入力がx変位なしで変位角度がない単一の場合、出力は空行(単一の改行文字)または次の形式である必要があります。 0 units @ - degrees あなたがボーナスの資格を得ようとしているなら、方向-も同様であるはずです。 ボーナス2、3、または両方が完了した場合、出力は以下のモデルに従い、上記と同じ制限に従う必要があります。 8.06 units @ 60.3 degrees NE 度は、標準平面に従って測定する必要があります。 90 135 …

12
そして、すべての人々が言っ​​た...
目的文字[またはを含まないテキストの入力を前提として]、次のアクションを実行します。 すべてのインスタンスのためのAmen少なくとも一つの大文字で(そのすべてのインスタンスAmenを除くamen)、同じことを出力Amen(時価総額を保持)。 /all the people said[?: ]/i(正規表現である)のすべてのインスタンスに対して、出力も行いますAmen(どんな場合でも問題ありません)。 すべての出力の後に、改行、スペース、無などの定数セパレーターを選択できます。 これはcode-golfであるため、バイト単位の最短プログラムが優先されます。 IOの例 Input: I said AMEN! AMEN, PEOPLE! Output: AMENAMEN ; any separator is fine, I choose none. Input: amen amen amen amen Output: ; nothing Input: ; empty Output: ; nothing Input: *blah blah blah* And all the people said? Output: …

1
カニンガムチェーンのカウント
素数は常に人々を魅了してきました。2300年前、ユークリッドは彼の「要素」に書いた 素数とは、単位だけで測定されるものです。 つまり、素数は1(またはそれ自体で)割り切れるだけです。 人々は常に素数間の関係を探しており、(「面白い」のような)かなり奇妙なものを思いついてきました。 たとえば、Sophie Germainプライムは、プライムpで2*p+1もあるプライムです。 安全素数は素数であるpそのため(p-1)/2正確ソフィー・ジェルマン素数の下位条件である、また、素数です。 これらは、この課題で私たちが探しているものに関連しています。 A カニンガムチェーンタイプの私は最後のものを除くすべての要素がある素数のシリーズです、ソフィー・ジェルマン素数と、最初のものを除くすべての要素がある安全素数。このチェーンの要素の数は、その長さと呼ばれます。 これは、プライムから始めてp計算することを意味しますq=2*p+1。qが素数である場合、長さ2のタイプIの Cunnighamチェーンがあります。次に2*q+1、次の生成された数が合成されるまでテストなどを行います。 タイプIIのカニンガムチェーンは、ほぼ同じ原理に従って構築されますが、唯一の違い2*p-1は各段階で確認することです。 Cunninghamチェーンの長さは1です。つまり、2 * p + 1も2 * p-1も素数ではありません。これらには興味がありません。 カニンガムチェーンの例 2長さ5のタイプIのチェーンを開始します。 2, 5, 11, 23, 47 次に構築される数95は、素数ではありません。 これはまた、以下のことを教えてくれる5、11、23および47タイプのいずれかのチェーンを開始していない私を、それが要素に先行する必要があるため、。 2また、長さ3のタイプIIのチェーンを開始します。 2, 3, 5 次はで9、これは素数ではありません。 11タイプIIを試してみましょう(以前にタイプIから除外しました)。 さて、21次は、素数ではないので、この「チェーン」の長さは1になりますが、このチャレンジではカウントしません。 チャレンジ n入力として数値を指定すると、少なくとも長さ2のタイプIまたはIIのn番目のカニンガムチェーンの開始番号を書き込み/返すプログラムまたは関数を記述し、その後にスペース、それに続くチェーンのタイプ(IまたはII)、その後にコロン、その後にそのタイプのチェーンの長さが続きます。プライムが両方のタイプのチェーン(タイプI およびタイプII)を開始する場合、タイプI のチェーンが最初にカウントされます。 例: 2 I:5 nこれは、以前に開始された任意のタイプのチェーンの一部である可能性があることに留意してください。その場合、そのタイプのチェーンの開始番号と見なされるべきではありません。 これがどのように始まるのか見てみましょう から始め2ます。これは最初の素数であるため、を含む下位の素数で始まるチェーンがないことを確認できます2。 タイプIのチェーン内の次の数は次のようになります2*2+1 == 5。5素数なので、少なくとも長さ2のチェーンが既にあります。 これを最初のチェーンとしてカウントします。タイプIIはどうですか?次の番号はになります2*2-1 …

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