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

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

14
ASCIIムーンをASCIIバットで飛び回らせる
バックグラウンド これはハロウィーン関連の挑戦です。 私の最後の挑戦からお気づきかもしれませんが、私はアスキーアートアニメーションと呼ぶものがとても好きです。それは単にパターンを描くだけでなく、進行するパターンを描くことです。このアイデアは、数年前にハロウィーンのランダムなアスキーバットを画面上で飛ばすことで(かなり退屈な)プレゼンテーションを盛り上げるように頼まれた後に思いつきました。言うまでもなく、私は当然のことながら義務を負っていました(私はそれを支払われていました)が、ランダムなコウモリよりも生命に多くがあると考えさせられました。これに触発されて、私はこの挑戦を提案したいと思います。 チャレンジ 月の周りにコウモリを飛ばします。 コウモリは次のとおりです。 ^o^ ここに月があります: mmm mmmmmmm mmmmmmmmm mmmmmmm mmm コウモリの飛行のすべての段階を表示する必要があります(出力を参照)。 入力 なし 出力 ^o^ mmm mmmmmmm mmmmmmmmm mmmmmmm mmm mmm^o^ mmmmmmm mmmmmmmmm mmmmmmm mmm mmm mmmmmmm^o^ mmmmmmmmm mmmmmmm mmm mmm mmmmmmm mmmmmmmmm^o^ mmmmmmm mmm mmm mmmmmmm mmmmmmmmm mmmmmmm^o^ mmm mmm mmmmmmm mmmmmmmmm mmmmmmm mmm^o^ mmm mmmmmmm …

7
小さな探検家
あなたは探検家であり、未知の世界をマッピングします。あなたの船は風に乗って運ばれます。どこに行くのか、誰が知っていますか? 毎日、あなたのスパイグラスには、北、南、東、西の地物が見えます。あなたは常に基本的な方向に対応する4つのそのような特徴を見ます。スパイグラスは、次のようなASCIIシンボルを報告します。 ~~.*、~~~~、~.^^、~#~# シンボルは順番に並んでいます(北、南、東、西)。 これらは次の記号です。~=海、.=海岸、^=山、*=木、#=無効(観測なし、これは世界の端を見るたびに発生するか、風景が霧で覆い隠されます)。あなたのスパイグラスは、あらゆる方向に正確に1つのユニットを見ます。 毎晩、あなたは星を見上げて、あなたがどこまで旅したかを確かめます。星を見ると、次のようなアスキー記号が表示されます。 n、s、e、w 北、南、東、西にそれぞれ対応します。毎晩、北、南、東、または西に常に1ユニットだけ移動します。エクスプローラーがシンボルの無限のストリームを受け取るように、あなたは: ~~.*n~~~~s~~.*s~.** あなたの仕事は、世界の2D地図を出力することです(地図の?未知の部分は北、上は東、右は東です): ?~~~?????? ?~~~?????? ?~~~.^^.?? ?~~.***.~~ ~~.*^^*.~~ ~~~..~~~~~ ~~~~~~~~~~ ~~~~~~~~~~ 簡単にするために、マップの左下隅から開始すると仮定します。すべてのマップが8x8であると仮定します。 簡単な3x3の例を次に示します。マップは次のようになっていると仮定します。 ~.~ ~^~ ~.~ 次の入力で: ~#.#n~~^#s 次の出力が得られます。 ~?? ~^? ~.? その他の入力と出力の例: 入力 ~#~#n~~~#n~~~#n~~~#n~~~#n~~.#n~~.#n#~~#e#.~~e#.~~e#.~~e#.~~e#~~~e#~~~e#~#~s~~#~s~~#~s~~#~s~~#.s~~#~s~~#~s~##~w~#~~w.#~~w^#~~w.#~~ 出力 ~~~~~~~~ ~....~~~ ~.????~~ ~~????~~ ~~????.~ ~~????~~ ~~?.^.~~ ~~~~~~~~ 入力: ~#~#e~#~~e~#~~e.#~~e^#~~n.~..n~^~.n~.~~n.~~.n.~~*n~.~.n#.~~w#.~~w#.~~s~*..s..*.s*~.~s.~~~s 出力: ?~~~~~?? ?....~?? ?.**.~?? ?~..~~?? ?~~~~~?? ?~~..~?? …

24
IHIHピラミッド
「H」と「I」の文字が非常に似ているのは魅力的です。「H」は、2つの垂直ストロークに囲まれた水平ストロークです。「I」は、2つの水平ストロークに囲まれた垂直ストロークです(フォントによって異なります)。これは入れ子にできると思います...それが何を思い出させるか知っていますか?フラクタル !!! 「IHIH」ピラミッドを次のように定義します。最初の反復は、文字「I」のこのASCII表現です。 --- | --- 次の反復では、両側に垂直ストロークがあります。 | | |---| | | | |---| | | 中央の「I」を単一の水平ストロークとして表示する場合、この2番目の反復は基本的に「H」です。3番目の反復では、上下に水平ストロークを追加します ------- | | |---| | | | |---| | | ------- 繰り返しになりますが、中央の「H」を単一の垂直ストロークと見なす場合、この反復は基本的に「I」です。このパターンは、繰り返しごとに「H」と「I」を交互に繰り返します。参考までに、最初の6つの反復を以下に示します。 1: --- | --- 2: | | |---| | | | |---| | | 3: ------- | | |---| | | …

10
ASCIIのビットパターンからフラクタルを生成する
概要 フラクタルをコード化するビットパターンと、フラクタルの世代ごとのスケールファクターおよび世代数を指定して、単純なフラクタルパターンを印刷するプログラムを作成します。 説明 これは、シェルピンスキーカーペットの ASCII表現です。。 ジェネレーション0: # ジェネレーション1: # # # # # # # # ジェネレーション2: # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # …

22
ハート形を描く
チャレンジ ハート形を描く ... ASCIIアートとして! あなたのアートは私のもののように見える必要はありませんが、ハートの形に見える必要があります。 心の内側には「愛」という言葉が少なくとも20回含まれている必要があります ルール プログラムはコンソールにアートを書き込む必要があります。 最短のコード(バイト単位、任意の言語)が優先されます。 優勝者はバレンタインデーの2月14日に選ばれます

9
「ソート」アルゴリズム
スターリンソートとも呼ばれる「ソートアルゴリズム」があり、リストをソートするには、リストが昇順にソートされるまでリストから要素を削除するだけです。たとえば、リスト [1, 2, 4, 5, 3, 6, 6] スターリンの並べ替えを使用して「並べ替え」が行われる場合 [1, 2, 4, 5, 6, 6] 3つは故障していたため削除されました。 当然、要素を削除してリストをソートする方法はたくさんあります。たとえば、要素が2つ未満のリストは並べ替える必要があります。そのため、盲目的に十分な要素を削除するだけで、常にリストを並べ替えることができます。これが事実であるため、スターリンの並べ替えから可能な限り長い結果のみを考慮します。 あなたの仕事は、正の整数のリストを取得し、元のリストから要素を削除することで到達できる最長のソートされた(増加する)リストの長さを出力することです。それは、最長のソートされた(おそらく不連続な)サブリストの長さを見つけることです。 ソートされたリストは、同じ要素を連続して複数回持つことができます。プログラム自体が空でない限り、空のリストをサポートする必要はありません。 得点 あなたの答えは、スターリンの可能な限り最長のソートの長さによって採点されます。プログラムは文字ではなくバイトのシーケンスとして解釈され、その順序はバイトを数字として解釈することによって生じる自然な順序になります。スコアが低いほど優れています。 これはコードゴルフではありません ここだきちんと-Oツール、あなたの答えを得点を支援します。 テストケース [1, 2, 4, 5, 3, 6, 6] -> 6 [19, 2] -> 1 [3, 3, 4, 3] -> 3 [10] -> 1 [1, 2, 4, 9] …

5
XYZに沿って対称的に立方体の面を押し出す
サンドボックス 現在のタスクの目的のために、ユニット長の立方体は、次のようにASCIIシンボルを使用して斜め投影でレンダリングされます。 +-----+ / /| +-----+ | | | + | |/ +-----+ + 頂点のために。 -Xエッジの場合。Xに沿った単位の長さは-、2つの頂点間の5 で表されます。 |Yエッジの場合。Yに沿った単位の長さは、2 |つの頂点の間の2つで表されます。 /Zエッジ用。Zに沿った単位の長さは/、2つの頂点間の1つで表されます。 頂点は、3つの平面すべてが交差する場所にのみ描画されます。 エッジは、正確に2つの平面が交差する場所にのみ描画されます。 単位面が押し出されると、元の位置から単位長だけオフセットされ、各方向(正と負)に4つの新しいエッジが作成されます。 押し出しは、各軸が断面1x1で長さnが(0,0,0)から離れた直方体として表される3Dデカルト座標系の軸を描くことと考えることができます。 Xに沿って1押し出し: +-----------------+ / /| +-----------------+ | | | + | |/ +-----------------+ 仕事 XYZ軸に3つの数値を指定し、指定された量だけ対称的に単位立方体の面を押し出し、上記のようにASCIIシンボルで結果をレンダリングします。 入力 x、y、z-非負の数-各軸の押し出しの長さ。0は押し出しがないことを意味します。入力には、3つの数字、3つの数字のリスト、トリプル、文字列、または便利なものを使用できます。 出力 押し出し後のキューブのASCII図面。先頭および末尾のwihtespacesは許可されます。 テストケース X Y Z 0 0 0 +-----+ …

21
アルファベットヒストグラム
1つ以上の単語[a-z]+と0個以上のスペースで構成される入力文が与えられた場合、入力文の文字分布のASCIIアートヒストグラム(棒グラフ)を出力します。 ヒストグラムは水平に配置する必要があります。つまり、左から右へアルファベット順にアルファベットキーを使用し、Y軸にラベルを付け1-、5単位ごとに配置します。Y軸は、少なくとも最も高いバーと同じ高さの最小の5の倍数でなければならず、右揃えでなければなりません。X軸には入力文字のラベルが付けられ、間に隙間はありません。例えば、入力は、a bb ddラベル持つべきabdではなくab d、スキップをc。バー自体は、一貫性のあるASCII文字で作成できますX。ここでは、例で使用します。 test example 5- X X X 1-XXXXXXXX aelmpstx の3つe、2つt、および1つがありalmsxます。 その他の例: the quick brown fox jumped over the lazy dogs 5- X X X X XX X X X XX 1-XXXXXXXXXXXXXXXXXXXXXXXXXX abcdefghijklmnopqrstuvwxyz now is the time for all good men to come to the aid of …

1
微小重力ボール
高度な銀河間宇宙ステーションにいます。重力の研究で未成年であるあなたの友人が、ボールを動かす方法として微小重力を使用するゲームを作成しました。 彼女は、4つの方向矢印と、左に座っているボールを持つ迷路のような構造を持つ小さなコントローラーをあなたに渡します。彼女はゲームの仕組みを説明し始めます。 左<と右の2つの方向ボタンがあります>。 また^、上下に2つの重力ボタンがありますv(少なくとも参照フレームから) これらの矢印ボタンを使用して、画面上でボールを動かします。 「従う必要があるいくつかのルールがあります。」彼女が言います カップに到達する前に、すべてのプラットフォームを横断する必要があります \ / 矢印< > ^ vはボールの動きを指定するために使用されます 重力は^ v(上下)です。これにより、ボールはその方向の次のプラットフォームまでずっと移動します。(距離は上下で計算されません) ボールを失うのは悪いことです!ボールがプラットフォームに到達しないように、端から落ちたり、重力を切り替えすぎないでください 移動は次のステップでカウントされます < > ルール1が守られている限り、ボールはどの方向からでもカップに入ることができます。 ボールが浮かないように重力の方向を指定する必要があります 規則1と規則4に従う限り、動きはランダムになる場合があります 解決できない場合は、FalseまたはInvalidを出力します ボール、プラットフォーム、カップの簡単な例: v o ---\ / v> o ---\ / v>> o ---\ / v>>> o ---\ / v>>>> ---\o/ 同じプラットフォームを再度横断する例。 v o ---- \ /------- v> o …

12
イワシが大好き
私はイワシが大好きで、それを十分に手に入れることができません。また、私のコンピューターであるOmnilang 5000は言語に依存しません。 私のコンピューターにイワシを体験する喜びを与えるために、さまざまな向きでイワシの缶詰を画面に表示し、最大10個のイワシを表示できる多くのプログラムを彼に提供することにしました。 この課題では、次のパラメーターに基づいてプログラムを作成する必要があります。 入力 数値(0〜10)と次の「LR」(それぞれ左または右を表す)のいずれかからの文字。例:3Lまたは5R; これがプログラムにどのように入力されるかはあなた次第です。 出力 イワシの開いた缶は、イワシが指示された方向を向いており、キー(「%」文字で表される)と皮をむいた蓋(「@」文字で表される端で巻き上げられた缶)が缶の上部にあります。 すべてのイワシは、入力で示された方向を向く必要があります。 すべてのイワシは、g( " )"または " (")と尾 " ><"の間に5文字の長さの体を持ちます。 キーと皮をむいたふたロールは、常にイワシの反対方向を向いています。 以下の例に示すように、錫は3次元の外観を持っている必要があります。 スズの最小高さは3イワシです。そのため、数が3未満の場合、入力されたイワシの数とともに、高さが3匹のイワシのスズを表示する必要があります。それ以外の場合、スズは入力で示されたイワシの高さでなければなりません。入力は、だから、0Rまたは0L空のイワシ錫が表示されます。 検証できない他の入力には何も表示されません。 たとえば、「3L」 __________ (__________@% |<*)_____><|| |<*)_____><|| |<*)_____><|| '=========='' 「7R」について __________ %@__________) ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ||><_____(*>| ''==========' 「2L」について __________ (__________@% |<*)_____><|| |<*)_____><|| | || '=========='' 「0R」について __________ %@__________) …

28
バイナリ壁を作成する
10を底とする正の整数の配列を指定n > 0すると、は、バイナリ壁の表現を出力します。 これはどのように作動しますか? 各数値をバイナリ表現に変換します。 表現の先頭にゼロを追加して、最も長いものの長さ(つまり、1, 2-> 1, 10->)にし01, 10ます。 1sがレンガであり、sがレンガ0が欠けている壁を作成します。 壁は文字のブロックで、印刷可能な文字はレンガを表し、スペース(32)は欠けているレンガを表します。レンガには任意の文字を選択できます。空白文字でない限り、壁全体で区別する必要はありません。行方不明のレンガ文字はスペースでなければなりません。以下の例*では、レンガに使用しました。 例 入力: [ 15, 7, 13, 11 ] [ 1111, 111, 1101, 1011 ] [ 1111, 0111, 1101, 1011 ] 出力: **** *** ** * * ** ルール ご使用の言語で使用できない他のベースが言語で受け入れられている場合は、ベース10で入力する必要があります。 先頭と末尾の改行が許可されます。 入力は、整数のリスト、個別の引数、または任意の妥当な形式として取得できます。 出力は、改行で区切られた文字列、行の配列、2D配列など、任意の妥当な形式になります。 標準の抜け穴は許可されていません。 テストケース 最初のテストケースでは、すべてのレイヤーの最後に空のブリックがあることに注意してください。 [ 14, 4, …

13
お誕生日おめでとう、ラファエル・チェッコ!
ラファエル・セコは生産プログラマであるいくつかの最高のためのビデオゲームをZXスペクトラム 80年代後半には、コンピュータ。とりわけ、彼は高い評価を得ているCyber​​noidとExolonを開発しました。 Raffaeleは2017年5月10日に50歳になります。私たちの多くがこれらの素晴らしいゲームをプレイして過ごした幸せな時間と、彼らがもたらしたモチベーションのために、この挑戦​​は彼への小さな敬意です。 チャレンジ 目的は、Cyber​​noidのメインメニュー画面に見られるものに触発されたが、ASCIIアートで長方形のマーキーを作成することです。 具体的には"Happy birthday Raffaele Cecco "、12x5の長方形の端に沿って回転するストリング(最終スペースに注意)が表示され、スナップショットの間隔は一定です。 たとえば、テキストが時計回りに表示され、反時計回りに回転すると仮定すると(以下のオプションを参照)、長方形のマーキーの3つの連続したスナップショットがあります。 Happy birthd a o y c ceC eleaffaR それから appy birthda H y o R cceC eleaffa それから ppy birthday a H R a occeC eleaff 等々。 ルール 入力は行われません。出力は、STDOUTまたは同等のものを介して、またはグラフィカルウィンドウで行われます。 出力には、実際にテキストの回転が描かれているはずです。つまり、新しいスナップショットごとに上書きする必要があります、移動の印象を与えるために、前のする。これは、たとえば、適切な数の改行を書き込んで画面を効果的にクリアするなど、あらゆる手段で実行できます。これが特定の画面サイズに対してのみ有効である場合は許容できます。答えで指定するだけです。 次のオプションが受け入れられます。 テキストは時計回りまたは反時計回りに表示でき、時計回りまたは反時計回りに回転できます(上記のスナップショットの例では、時計回りの表示と反時計回りの回転を想定しています)。 回転は無限ループで周期的に継続し(プログラムが停止するまで)、任意のフェーズで開始できます。 スナップショット間の一時停止時間はほぼ一定である必要がありますが、0.1〜1秒の間で自由に選択できます。最初のスナップショットを表示する前の最初の一時停止は許容されます。 文字は、大文字、小文字、または大文字と小文字を混在させることができます(上記の例のように)。 先頭または末尾の空白スペースが許可されます。 プログラムまたは機能にはいずれにも、許可されているプログラミング言語。標準的な抜け穴は禁止されています。 可能であれば、出力を示すgifファイル、またはプログラムをテストするためのリンクを提供してください。 バイト単位の最短コードが優先されます。

20
制限速度を超えていますか?
アスキーアートの道とそれを横断するのにかかった時間を考えると、スピードを出しているかどうかを教えてください。 単位 距離はの任意の単位ですd。時間はの任意の単位ですt。 道 簡単な道は次のとおりです。 10===== 10手段10 dあたりt。それが道路の制限速度です。道路は5 =秒なので、d5です。したがって、0.5 tでその道路を横断する場合、5 / 0.5 = 10なので10 dあたりに行きましたt。その道路の制限速度は10なので、制限速度内にとどまりました。 しかし、0.25 tでその道路を横断する場合、5 / 0.25 = 20 なので20 dあたり20になりました。その道路の制限速度は10なので、制限速度を10超えました。t 例と計算 入力1は道路の移動にかかった時間であり、入力2は道路そのものです。 これが複雑な道です。 Input 1: 1.5 Input 2: 5=====10===== 最初の道(最初の5 =秒)で(合法的に)行った最速は5 dあたりtです。5(距離)を5(速度制限)で割った値は1であるため、その道路を走行できた最速は1 tです。 次の道路では、制限速度は10で、距離も5です。横断できる最速は0.5(5/10)です。最小時間を合計すると1.5になります。つまり、正確に速度制限に達しました。 注:ある道路では非常に速く、別の道路では非常に遅く、1.5でクロスする可能性がありますが、ここではベストを想定しています。 最後の例: Input 1: 3.2 Input 2: 3.0==========20=== 最初の道路は長さが10で、速度制限は3です。したがって、最短時間は3.33333 ...(10/3)です。 2番目の道路は3本の長さで、速度制限は20なので、最小時間は0.15(3/20)です。 時間を合計すると3.483333333になります... 3.2でそれを超えたため、どこかでスピードを上げる必要がありました。 …

9
山頂を描く
山の範囲を描くプログラムまたは関数を作成します。後続の大きな山のピークはそれぞれ、前の山の「背後」にあり、どちらの側が見えるかを交互に切り替えます。 これは山岳地帯の大きさです 1 /\ これは山岳地帯の大きさです 2 /\ /\ \ これは山岳地帯の大きさです 3 /\ / /\ / /\ \ これは山岳地帯の大きさです 4 /\ /\ \ / /\ \ / /\ \ \ これは山岳地帯の大きさです 5 /\ / /\ / /\ \ / / /\ \ / / /\ \ \ 等々。 入力 単一の正の整数、任意の便利な形式で、n > …

5
角かっこを作る
すべてのプログラマーは、括弧[]{}()<>が本当に楽しいことを知っています。この楽しさを悪化させるために、織り込まれたブラケットのグループをキュートでファジーな図に変換できます。 のように、バランスの取れた括弧を含む文字列があるとしましょう[{][<(]})>(())。ステップ1は、弦を時計回りに45度回転させることです。(Mathematicaでは、これはほとんどでできますRotate[ur_string,-pi/4])。最初のステップの結果は次のとおりです。 [ { ] [ < ( ] } ) > ( ( ) ) 次に、各文字の間に斜めのスペースを追加します。 [ { ] [ < ( ] } ) > ( ( ) ) 次に、一番左のブラケットから始めて、ブラケットと犯罪のパートナーとの間に四角形を描きます。 +---+ | | | { | | | +---+ [ < ( ] } ) > ( ( …

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