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

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

2
2Dダンジョンクローラー
プログラムは、次のように複数行の文字列を取る必要があります。 ############# # # # p # # # ############# pプレイヤーで#あり、ブロックです。 ターミナルの下には、次のような入力行があります。 How do you want to move? プレーヤーlがブロックがないときに左に歩く必要があると入力した場合、それ以外の場合、ブロックがあるときは通過できず、もちろん移動しません。ターミナルの出力を更新する必要があります(および以前の出力がクリア/上書きされました): ############# # # # p # # # ############# 彼はl左、r右、u上、d下のどちらでも入力できます。 入力は常に複数行になりますが、完全な長方形にスペースが埋め込まれるとは限りません。さらに、ハッシュは文字列のどこにでも置くことができ、常に互いに接続されているわけではありません。例えば: ## ## # # ## p # 有効なダンジョンです。(各行の末尾にスペースがないことに注意してください) プレイヤーがストリングの外に出た場合、彼は表示される必要はありません。しかし、彼が後で戻ってきた場合、彼は再び表示される必要があります。 そして、「外」の境界文字列がされているlength(longest_line)ことにより、number_of_lines1行が右側のスペースで埋めていない場合でも、長方形、そう、その場所は、範囲外とみなされていません。以前のダンジョンを使用した例: ## ## # #p ## # 2行目には、pが存在するスペースがありませんでしたが、それは問題ではありません。 最後に、プログラムは入力を受け取って永久にループする必要があります。 テストケース テストケース1: …

10
この三目並べボードを印刷してください!
ここに三目並べボードがあります: a b c | | 1 - | - | - _____|_____|_____ | | 2 - | - | - _____|_____|_____ | | 3 - | - | - | | 一連の動きが与えられたら、トークンをオンにしてボードを印刷します。 入力はスペースで区切られた動きとして取り込まれ、各動きは次のとおりです。 まず、行くトークン 次に、移動している列の文字 最後に、移動している行の番号 通常の三目並べルールは重要ではないことに注意してください。 また、文字や数字を印刷する必要もありません。 たとえば、入力Ob2 Xc2 Ob3 Xa1は次のようになります。 | | X | - | - …

7
グリッドをランダムに入力します
正の整数を指定してn < 10、各場所に(xおよびy左上から開始して)とインデックスを入力する2次元の行列を作成します。 例えば: 入力:2 00 10 10 11 入力:3 00 10 20 01 11 21 02 12 22 グリッドが作成されたら、各インデックスをランダムに入力します。これは、「x」またはスポットが塗りつぶされたことを示す他の方法を使用できます。 マトリックスを埋めるインデックスをランダムに生成することにより、埋める場所を決定します。n ^ 2回しか入力できないため、行列が完全に満たされるまで、必要な回数だけ入力することはできません。最後にマトリックスを塗りつぶす必要があるため、塗りつぶしに使用する乱数をチェックして、スポットがまだ塗りつぶされていないことを確認するための作業を行う必要があります。 充填の反復の進行を示すために、各充填後にリフレッシュまたは印刷します。 記入例: 入力:2 00 10 01 11 00 ランダムに選択されます: XX 10 01 11 01 ランダムに選択されます: XX 10 XX 11 00はランダムに選択されますが、すでに選択されているため、再ロールは10次を選択します。 XX XX XX 11 11 ランダムに選択されます: XX …

2
1000の最も一般的な単語
この質問は、「物事の説明者」が楽しく読めるから書いてありました。 文字、数字、およびこのようなもののセットを読み取り/受け取り、すべての単語がこのセットの一部である場合に"#%|?戻る「コンピュータに物事を実行させるもの」を記述します。True / 1 すべての単語がそのセットの一部ではない場合、そのセットの一部ではなかった単語を返します。 このウェブサイトは、すべての場合において正しいと見なすことができます。ルールはそのサイトの仕様に従うように書かれています。 例: Truthy: 最初の水平線より上のテキスト全体が入力として貼り付けられている場合、コードは真の値を返す必要があります。 次の行は真の値を返します(入力はで区切られています###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 偽り: 次の例では、入力と出力はで区切られてい***ます。異なるテストケースはで区切られ###ます。 This code doesn't return …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 

2
ディレクトリ構造のグラフィカルTreefication
次のような従来のディレクトリ構造を変換します。 config.yml drafts begin-with-the-crazy-ideas.textile on-simplicity-in-technology.markdown includes footer.html header.html これに . ├── config.yml ├── drafts | ├── begin-with-the-crazy-ideas.textile | └── on-simplicity-in-technology.markdown └── includes ├── footer.html └── header.html 4つのスペースは、上記のディレクトリのネストされたフォルダまたはファイルを指定します。 許可されるネストされたカテゴリレベルは異なる場合があります。 更新 ファイル名:有効なLinuxは、スペースや改行せずにファイル名:任意のバイトを除きNUL、/およびspaces、linefeeds 描画文字: | 縦線(U + 007C) ─箱型図ライト水平(U + 2500) ├箱形図は垂直で右が明るい(U + 251C) 勝者:バイトで最短のコードが勝ちます!

2
こちらがバブです。世界クラスではないサッカー選手
これはバブです。バブはサッカー選手です。しかし、彼はあまり上手ではありません。彼はまだネットにボールを蹴ることができません!(気づいていないの@はボールです。 _____ | \ O | \ \|/ | \ | | net \ / ─ @ |_________\ 彼のスキルを伸ばすために、彼はボールを蹴るときのパフォーマンスを評価するのに役立つシステムを開発しました。彼はそれを「10ポイントシステム」と呼んでいます。 しかし、彼はxポイントを達成するために何をする必要があるのか​​知りません。あなたは彼がボールがどこにあるかを視覚化するのを手伝う必要があります、それで彼は彼が獲得し​​たいポイントの数の期待を設定することができます。彼が達成できるラウンドごとに10ポイントがあります。 したがって、これはあなたの挑戦です。 数値xが与えられると、Bubが取得するポイントの数は、フィールド上のボールの位置を出力します。ここにいくつかの有用なマーカーがあります: バブはネットからちょうど50スペース離れています。 バブが獲得する各ポイントで、ボールはネットに5スペース近づきます。したがって、バブが3ポイント獲得した場合、ボールはネットから35スペース離れています。 バブが獲得する3ポイントごとに、ボールは空中で動き始めます!1スペース上に移動します。 バブが獲得したポイント数がボールをネットの後ろに移動する場合、ネット内のどこにでもボールを置くことができます。 覚えておいてください、バブ、ボール、ネットを描く必要があります。 はじめに、ここに例を示します。 ポイント数:5 _____ | \ O | \ \|/ | \ | @ | \ / ─ |_________\ 標準ルールが適用されます。バイト数が最も少ないコードが優先されます!幸せなゴルフ!

4
教会の数字を視覚化する
バックグラウンド λ計算の用語の視覚化 有名なラムダジャグラー(およびコードゴルファー)ジョントランプは、λ計算の用語の興味深い視覚化を考案しました。彼の言葉では: 抽象化(ラムダ)は水平線で表され、変数はバインディングラムダから下に伸びる垂直線で表され、アプリケーションは左端の変数を接続する水平リンクで表されます。 たとえば、ラムダ項λf.λx.f(f(f(fx)))は視覚化に対応します。 ------------------- | | | | ------------------- | | | | | | | | |---- | | |---- | |---- |---- | 上から下に読んでください: 最初の水平線は最初のλを表します。 それから降順の4本の線はfは、体内のます。 同様に、2番目の水平線は2番目のλを表し、それから降順の1本の新しい線はボディのxを表します。 右端のf線とx線は、アプリケーション(f x)を表す水平線で接続されています。 次のアプリケーションは(f(f x))などです。 教会の数字 教会の数字は、次のパターンに取って、λ計算における用語の特定のシーケンスです: 0 = λf. λx. x 1 = λf. λx. f x 2 = …

21
Forsyth-Edwards Notation文字列をASCIIアートに変換する
チェスでは、Forsyth-Edwards Notation(より一般的には「FEN」と呼ばれます)は、ボードを転写するテキストによる方法です。ホワイトの観点から、ボードの8つの列(チェスでは「ランク」と呼ばれます)を上から下に説明しています。ピースは、K(キング)、Q(クイーン)、R(ルーク)、B(ビショップ)、N(ナイト)、P(ポーン)と書かれています。黒い部分はこれらの文字を小文字で使用し、白い部分はこれらの文字を大文字で使用します。空のスペースは、連続する空のスペースの数を示す1〜8の数字で示されます。完全に空のランクは8、右端の列にある1つの黒いルーク(チェスでは「ファイル」と呼ばれます)になり7r、行の両端にある2つの白いポーンはになりますPP4PP。ランクは/。添加される他の情報は、移動キャスリングとすることでどちら側を示し、通常はありアンパッサン権利、移動の数、およびhalfmoveクロックが、我々はこの課題の目的のためにそれらを無視します。 入力 コマンドラインまたはSTDINからのFEN文字列。この文字列は常に有効であると想定できます。 出力 実際に表示されるボードの単純なASCIIアート表現をSTDOUTに書き込みます。 作品はFENで彼らのキャラクターによって表されます 空の正方形はスペースで表されます ピースと正方形はパイプで区切られて|おり、ボードの両側にパイプがあります したがって、8/8/8/8/8/8/8/8FENのように書かれた空のボードは、次のように表示されます。 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | …

8
今日は無事ですか?
Debian Linuxディストリビューション(およびUbuntuやKaliなどのDebianベースのディストリビューション)は、APTと呼ばれるパッケージマネージャを使用します。プログラムをインストールするfooには、ターミナルに入力します sudo apt-get install foo APTの小さなイースターエッグは次のとおりです apt-get moo 入力後、次の出力が生成されます (__) (oo) /------\/ / | || * /\---/\ ~~ ~~ ..."Have you mooed today?"... この正確な出力をできるだけ少ないバイト数で生成するプログラムを作成する必要があります。(末尾のスペースと改行を含む) 以下は、\n改行文字を表すために追加された同じ出力と、*末尾のスペースを表すためのa です。 (__)*\n (oo)*\n /------\/*\n / | ||***\n * /\---/\*\n ~~ ~~***\n ..."Have you mooed today?"...\n コメントで要求されているように、これはムーイングのmd5sumです。 35aa920972944a9cc26899ba50024115 -

1
マーチングスクエアルックアップ
マーチングスクエアはコンピューターグラフィックスのアルゴリズムであり、サンプルのグリッドから2D等高線を復元するために使用されます(3D設定用の兄貴のマーチングキューブも参照)。アイデアは、グリッドの各セルを個別に処理し、コーナーの値に基づいてそのセルを通過する輪郭を決定することです。 このプロセスの最初のステップは、コーナーがコンターの値の上か下かに基づいて、コンターによって接続されているエッジを判別することです。簡単にするため、値0に沿ったコンターのみを考慮し、コーナーが正か負かを調べます。区別するケースがあります:24 = 16 画像ソース:ウィキペディア ここでは白と黒の識別はそれほど重要ではありませんが、明確にするために、白はポジティブで黒はネガティブであると言います。コーナーの1つが正確にある場合は無視し0ます。 サドルポイント(ケース5と10)は、少し余分な難しさを提供します。コーナーを見るだけではどの対角線を使用すべきかが明確ではありません。これは、4つのコーナーの平均(つまり、中心値の概算)を見つけ、コンターが反対の符号でコーナーからセンターを分離するように対角線を選択することで解決できます。平均が正確0にの場合、どちらのケースも選択できます。 通常、これらの16のケースは単にルックアップテーブルに格納されます。これは効率的には優れていますが、もちろん、ここではコードを短くすることをお勧めします。したがって、あなたの仕事は、このルックアップ手順を実行し、ケースのASCII表現をできるだけ少ないコードで出力することです。 チャレンジ 選択した固定順序で4つのコーナー(ゼロ以外の整数)の値が与えられます。次に、等高線の正しいレイアウトを生成し、鞍点のケースを正しく解決する必要があります。 プログラムまたは関数を記述し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取り、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 入力は、任意の便利な文字列またはリスト形式で取得できます。 16のケースは、次の5x5ブロックのいずれかを使用してASCIIアートで表されます。 o---o o---o o---o | | | | | | | | | |---| | | | | | | | | | | o---o o---o o---o o---o o---o o---o o---o |/ | | \| | | | …

2
アスキーアートスクエアアフィンフラクタル
アフィンフラクタルを作成するための最小のプログラムを記述します。以下のルールと同じ結果が得られると思われる任意の方法を使用できます。提案された方法からアイデアを使用する必要はありません! プログラムは、形式でパターンを定義する最初の2つの入力をとる074第2の入力のサイズを定義する7 0〜3桁からなる3、8×8なり4、16×16など(2 ^ n)の上になります。プログラムは、0(1x1)から少なくとも5(32x32)までのすべてのサイズについて正しい結果を出力する必要があります。それ以上の数の出力を生成する場合、それは正しい必要があります。つまり、特定のサイズまでは正しい出力を生成する必要がありますが、間違っている場合はそのサイズを超える出力は生成しません。最大サイズは15(32768x32768)と想定できます。これは、すでにASCIIアート(1GB)の非常識なサイズだからです。 8x8パターンは以下のようになります(ルール160)。左端の桁はblock A、中央の桁(失礼な考えはありません!)はblock B、右端の桁はblock Cです。フラクタルを作成するには、両方の次元で半分に縮小し、ブロックに回転/ミラーリングルールを適用します。パターンを縮小するには、2x2の領域に均等に分割します。各エリアに3つの表示文字があるか、何も表示されません。目に見える文字がある場合は、小さいブロックの適切な場所に文字を配置し、そうでない場合はスペースを配置します。ルール0- 3ミラーリングされません、ルール4- 7ミラーリングされます。ルール0と4回転されていない、1と5時計回りに90度回転され、2そして6回転180度であり、3そして7時計回りに270度回転されます。3つのブロックをA左上隅、B左下、C右下の順序で縫い合わせます。 AAA AA A AA A BBB CC B BBC BBCCC B CCC 縮小、回転、ルール番号でミラーリング: 0 1 2 3 4 5 6 7 ---- ---- ---- ---- ---- ---- ---- ---- AA BAA CCB C C BCC AAB AA A BB …

4
数値をレプディジットの合計に分解します
Repdigitsは、フォームの数であるa * (10^n - 1)/9と a in [-9,9]\{0}(すなわち111、-3333、66、一つだけ桁を繰り返すことによって製造される数字で) 目標: 1つの正の整数Nを取得して出力するプログラムまたは関数を記述しN = s_1 + s_2 + ... + s_kます。1行に1つの数字があり、数字は右揃えである必要があります。2つの被加数が同じ桁数であってはならず、ゼロを追加することはできません。出力は昇順または降順(桁数)で並べる必要があります 例: in: 24192 out: 24192 = 22222 + 2222 - 222 - 33 + 3 in: 24192 out: -7 -22 +888 +1111 +22222 =24192 in: 113 out: 113= NOT 111+ no empty …

1
Google検索結果のグラフ化
Googleで何かを検索すると、ページの上部近くにのようなメッセージが表示されますAbout 53,000,000 results (0.22 seconds)。(もちろん、何を検索したかによって数字が変わります。) この課題では、特定の検索フレーズの空でないすべての接頭辞が検索されたときに、Googleから提供された結果数の対数 ASCIIグラフを描画するプログラムを作成します。 検索フレーズは、互いに1つのスペースで区切って、小文字の英数字の一つ以上の文字列として定義されています。正規表現では、検索フレーズは(?:[a-z0-9]+ )*[a-z0-9]+です。 ですからim ok、r、および1a 2すべての検索フレーズがありますが、I'm OK、R、1a 2、と、ではありません。 (Googleではほとんどの場合、大文字や特殊記号が考慮されないため、文字の制限が設けられています。URLで英数字以外の文字をエスケープするのも面倒です。) スペック プログラムは、stdinまたはコマンドラインから検索フレーズと正の浮動小数点数Hを取り込む必要があります。(あなたはそれらが有効であると仮定することができ、引用句または検索フレーズの周りに何かが必要な場合は問題ありません。) 実際の例として、検索フレーズがa carHで0.75であるとします。 ステップ1: 検索フレーズの空でないプレフィックスを収集し、二重引用符で囲みます。引用符により、正確なフレーズが確実に検索され、「もしかして...」のリダイレクトが回避されます。 などのスペースで終わるすべてのプレフィックスを除外しa[space]ます。 Prefixes "a" "a c" "a ca" "a car" ステップ2:https://www.google.com を使用して、表示されるとおりにこれらの各用語を検索し、返される結果の数をメモします。 Search Term Message Results "a" About 6,950,000,000 results (0.27 seconds) 6950000000 "a c" About 861,000,000 results (0.27 seconds) …

3
ASCIIアートコードジェネレーター
フォーマットされたBrainfuckコードを生成するプログラムがあります。プログラムを実行します ./example "S" そして出力は +[>+ < +++ ] >--. BrainfuckでSを出力します。 あなたの目的は、文字列を入力として受け入れ、その文字列を出力する別の言語でソースコードを出力するプログラムを書くことです。 プログラムが出力するソースコードは、ASCIIアートで文字列を表すようにフォーマットする必要があります(垂直ではなく水平に印刷されます)。 ソースコードに文字列を含めることはできません(ただし、文字列内に出現する文字を含めることはできますが、順番にではありません)。 そうでなければ、 標準の抜け穴が適用されます。 最短のコードが勝ちます。 提出物に、それが書かれている言語、出力する言語、および合計サイズ(バイト)でタイトルを付けてください。文字列UNCOPYRIGHTABLEを入力するときは、プログラムの出力を含めてください。 ありがとう!

3
ロッドを数える; ロッドを数える
いくつかの背景 カウンティングロッドは小さな棒(長さ3〜14 cm)で、2000年以上にわたって多くのアジアの文化の数学者が整数または分数を表すために使用していました。(ただし、このchqllengeでは、符号なし整数に焦点を当てています)ロッド番号と呼ばれるバージョンも作成されました。 仕組みは次のとおりです。 (いつか混乱した場合は、各桁のASCII表記と、下部に含めたいくつかの例を確認してください) ロッド数字は、1〜9の数字と0の空白を持つ真の位置数字システムです。数字は水平線と垂直線で構成されます。行が多いほど、桁が高くなります。5を超えたら、水平線を上に配置して、下の行数に5を追加します。1本の垂直線は1、2本の垂直線2、5本の垂直線は5、5本の垂直線は上部に水平線があり、4本の垂直線は上部に水平線が9(最上位桁)です。 縦3桁: ||| ||| ||| ||| ||| ただし、ロッドの数字を読みやすくするために、交互の数字ごとに異なる表記法を使用しています。2番目の表記は、水平線と垂直線の役割を入れ替えます。したがって、3は3本の水平線で、8は垂直線が上にある3本の水平線で表されます。 横8桁: | | __|__ _____ _____ 先に述べたように、どちらの表記を使用するかは簡単ですが、これらは交互に使用され、Sun Tzuは「1つは垂直、10つは水平」と書いています。したがって、右端の数字は垂直であり、そこから交互になります。 チャレンジ これらの棒は、負の数と分数を表すために使用されました(それらに関するウィキペディアの記事で説明されています)。この課題では、正の整数のみに焦点を当てますが、目的は単純です: 何らかの方法で整数値を入力として受け取り、この整数のロッド数値表現をSTDOUTに出力する関数または完全なプログラムを記述します(うまくいく場合は、ファイルに書き込むこともできます)。バイト単位の最短コードが優先されます。 すべての数字は5x5のASCII文字で表され、5つのスペースで構成される2つの列で区切られます。各桁に使用する正確な表現は次のとおりです。 space between two digits (two colums): 0 digit, both vertical and horizontal (five columns): 1 digit, vertical: | | | | | 2 digit, vertical: …

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