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

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

1
シャブルとスモル-パートI
セットアップ 下の図1に示すように、29の番号の付いたセルを含む奇妙な形のボックスを考えます。 この2Dボックスの内側には、2つの種の正方形の動物があります。シャブルとスモウルです。図1(a)は、青のシャブルと赤のスモウルを示しています。各クリーチャーは、1つのグリッドセルを占有します。ボックスには0から26のシャブルが含まれますが、常に2つのスモルが含まれます。 重力の影響を受けて、シャブルとスモールがボックスの底に座って、その下にあるものの上に積み重ねられます。両方の種は非常に怠惰であり、永久に動かないままです。 ボックスには、黒い正方形として描かれた、1つのグリッドセルを占有するstotも含まれています。ストットは重力の影響を受けません。 図に示されているように、ボックスにはセル28の底部に1つの開口部があります。 テキストでボックス内shubbles、smolesの構成、およびSTOTを表現するために、我々は29文字の文字列を使用して、グリッドセルごとに一つの文字、列挙された順に、と.、空のセルを表すo、shubbleを表すxsmoleを表します、@ストットを表す。たとえば、図1(a)の構成は文字列で表されます.........@...o....ooo..xox...。 操作 ボックスは90度の任意の倍数で回転できます。ボックスが回転している間、シャッフルとスモールはグリッドセル内で静止したままです。回転が完了するとすぐに、それらは次のいずれかになるまで直接下に落ちます:i)下の壁によってブロックされるii)下の小槌、くす、またはstotによってブロックされる、またはiii)セル28の穴から落ちるボックスを終了します。ストットは落ちません。生き物がその上に乗っていても、現在のセルに固定されたままです。 クリーチャーが落下して新しい安定した構成に達するまで、ボックスを再び回転させることはできません。 テキストでは、ボックスの回転は+、時計回りの90度回転、|180度の回転、および反時計回りの90度の回転によって示され-ます。 さらに、ストットは、1つのグリッドセルの増分で4つのコンパス方向に移動できます。移動は:i)ストットとクリーチャーの間で衝突を引き起こす(つまり、宛先グリッドセルは空でなければならない)、ii)ストットと壁の間で衝突を引き起こす、またはiii)ストットがボックスから出るセル28の穴。 また、(現在の重力に対して)その上にクリーチャーが置かれている場合、ストットは移動しない可能性があります。 テキストでは、ストの動きは<、左、>右、^上、v下で示されます。ストットムーブは常に、図に示されている「標準」(回転されていない)フレームを基準に指定されます。つまり、ストットがセル10にある場合、移動^すると常にセル5に移動し、移動>すると常にセル11に移動します。ボックスの向きは、移動の方向には影響しません。 操作のシーケンスは、左から右への文字列を使用してエンコードされます。たとえば、文字列+<<^-は、ボックスが時計回りに90度回転し、次にstotが(標準フレームに対して)左に2回、上に移動し、次にボックスが反時計回りに90度回転して元の方向に戻ることを示します。 チャレンジ 完全に正当な理由(私が開示することはできません)のために、1つの臭いを放出することなく、すべてのシャッフルを箱から放出したいと考えています。これを達成するために、上で具体的に説明した操作を使用できます。 この問題を解決する前に、さまざまな操作がボックスの内容にどのように影響するかをシミュレーションする必要があります。これがこの課題の焦点です。 stdin(または同等のもの)から2つの引数を受け入れるプログラムを記述する必要があります。 ボックスの初期状態を説明する文字列 一連の操作 両方の引数が構文的に有効であり、ボックスが標準の向きで始まり、ボックスの初期状態が安定していて合法であると想定する場合があります。 プログラムはstdout、次のいずれかに(または同等の)出力する必要があります。 (ケース1)ボックスの最終状態。文字列として表されます。移動のシーケンスが合法で(ストット移動ルールに違反していない)、smoleがボックスから出ない場合。ボックスの最終的な向きは重要ではありません。 (ケース2)!移動のシーケンスが不正である、またはsmoleがボックスから出た場合は、単一の感嘆符 得点 優勝したプログラムは、バイト数で最も短いプログラムであり、非常に有利なボーナス乗数がいくつかあります。 ケース1のエンコードされた出力を印刷する代わりに、0.65の乗数を要求します。プログラムは、シャブル、スモル、ストト、空のセルの仕様文字を使用して、ボックスの最終的な状態と方向でASCII画像を出力し、*セル28の穴のすぐ外側のセル内。先頭と末尾の空白は無視されます。 たとえば、図1(a)を90度回転すると、出力は次のようになります。 . . ..... .o... xo.@. *ooo.. x . ケース1のエンコードされた出力を印刷する代わりに、プログラムがイメージファイルを出力するか、最終的な状態と向きのボックスの写真を含むGUIウィンドウを表示する場合、0.22の乗数を要求します。写真は図1(a)のスタイルである必要があり、グリッドセル、壁、および色付きのボックスを使用した生き物/ストットを示しています。 ケース1のエンコードされた出力を印刷する代わりに、0.15の乗数を要求します。プログラムは、アニメーションの.gifまたはアニメーションのGUIウィンドウを1秒間隔でシミュレーションのすべての中間状態を表示して出力します。0.22乗数と同じ画像規則が適用されます。アニメーションの最初のフレームは、シミュレーションの初期状態を示している必要があります。さらに、アニメーションは「非表示」の中間状態を表示する必要があります。 回転後、アニメーションフレームごとに1セルずつ安定した構成に落ちるシャッブル/スモル ボックスの中間の90°回転状態、180°回転 請求0.12の乗算器をプログラムは、上記のスタイルのアニメーション.gifまたはアニメーションGUIウィンドウを生成する場合、しかし20のFPSやショーで実行 ボックス回転のスムーズで連続的なアニメーション stotの動きのスムーズで連続的なアニメーション、および安定した構成に落ちるシャブル/スモルのアニメーション セル28の穴から落下するシャッブルは、ボックスから出て行くように示され、完全に外に出ると消えます。1秒あたり1回以下の操作が実行される限り、アニメーションのタイミングを独自に選択できます。 合計スコアはfloor( base score * multiplier …

15
できるだけ正方形に近いグリッドを作成します
グリッドをできるだけ正方形に近づける関数またはプログラムを作成する 入力として整数N、整数(1、2、3、25など)が与えられます 出力は、できるだけ正方形に近いN文字の完全な長方形グリッドである必要があります (志望)正方形は、ユーザーが指定したOまたはXの文字のいずれかで構成されている必要があります ポイント: OまたはXのみにハードコード:+1 出力を回転するためのparam(0/1、true / false、類似のもの)(5または8など):-10 正方形を設計します(何らかのパターンでOとXの両方を使用します):-5 両方のタイプの文字(x / y軸> = 3)を含み、水平方向または垂直方向に反転してもパターンは同じである場合、パターンは有効と見なされます(XとOsの交換が許可されています)。 例 INPUT: 4 INPUT: 5 INPUT: 8 INPUT: 9 OO OOOOO XXXX XOX OO XXXX OXO or rotated 90deg XOX 許可されない例(同じ長さの行または列ではない) BAD RESULT: 5a BAD RESULT: 5b BAD RESULT: 8 OOO OO OOO OO OO …

2
ブックライターを書く
以下は、開いた本のかなり単純なASCIIの描写です。 |\ | \ | \ | \ | \__________ | || | | || Lorem i | \ || psum do | \ || lor sit | \ || amet, | \ || consect | \||_________| テキスト部分は右側のページにのみあり、幅7文字、高さ5であることに注意してください。また、本の上端には5つのバックスラッシュと10のアンダースコアがあることに注意してください。10はテキスト幅に3を加えたもので、5は10の半分です。 同じスケーリング形式を使用して、テキスト領域をw文字幅、h高さのテキスト領域に変更できます。ここで、wは奇数の正の整数、hは任意の正の整数です。 一部のw × h本:1×1、1×2、3×2 |\ |\ | \ |\ | \____ | …

4
アスキーアートを減らす
この課題は、ペーストcut'nから拡大ASCIIアートが、逆に使用して、PetSCIIベースのハーフブロックの文字を: string=" ▝▘▀▗▐▚▜▖▞▌▛▄▟▙█" したがって、目標は、1/2提出されたascii-artによって削減することです。サンプルでは、​​文字列から: OOOOOO OOOOOO OOOOOO OOOOOOO OOOOOO OOOOOO OO OOOOOOO OO OO OO OO OO OO OO OO OO OO OO OO OO OO OO OO OOOOO OO OOO OO OO OO OOOOO OO OO OO OO OO OO OO OO OO OO OO OO OOOOOO OOOOOO OOOOOO …

5
本日(9月24日)はHONDAの誕生日です【休業】
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、 Code Golf Stack Exchangeのトピックとなるようにします。 4年前休業。 今日(9月24日)はHONDA社の誕生日です。元々の会社名は 本田技研工業株式会社 ホンダへのプレゼントをお願いしたいです。タスクは、プログラムの印刷会社名を作成することです。あなたは好きなようにそれを行うことができますが、唯一のルールがあります、ユニコードは許可されていません。ASCIIアートである必要があります。 コードの投稿と出力をお願いしたいです。いつも勝者を決めるために、コードの長さを見ていきますが、この場合のポートレートも重要です。 編集:出力はこれに似ている必要があります:本田技研工業株式会社

7
テキストのサークル
コンソールの文字を使用して、特定の半径の円を作成する方法を見つけます。フォント名とサイズを指定してください。また、出力の例を少なくとも1つ提供してください。 例えば: 入力: 3 出力: ****** ** ** ** ** * * ** ** ** ** ****** ...まあ、半径3の「手描き」「円」よりも見栄えが良いもの。 ボーナス質問:楕円。:)

13
BCDバイナリクロックを描画する
ASCIIでBCD バイナリクロックを作成します。暗黙のとおり、6列のドットで時間を表示します。 (出典:ウィキメディア・コモンズ) 各列はバイナリコード化された数字で、左から右に時間、分、秒を読み取ります。時間は24時間形式で表示されます。 表示する時間は、コマンドラインまたはstdin(どちらか適切な方)から読み取られます。空の場合は、代わりに現在の時刻を使用する必要があります。 出力サイズはここで少し制限されており、2行のテキストしか収めることができません。したがって、ドットを2行だけに入れる必要があります。文字.、:そして'ここに便利になります。 入力 ISO-8601形式で表示する時間HH:MM:SS。つまり、小数秒なし。必須の24時間形式。入力は空にすることができます。その場合、現在の時刻が使用されます。 出力 の2本の線は、上の画像のようにBCDバイナリクロックを表しています。各行は正確に6文字で、使用できる文字はスペース、ピリオド、コロン、アポストロフィのみです。 勝者 バイト数による最短コードが優先されます。引き分けに、ソリューションが最初に勝利しました。 入力例1 (空の) 出力例1 . ''. :: 入力例2 17:59:20 出力例2 ..' .:..' 入力例3 01:08:01 出力例3 ' . .

4
クリスマス・クイン!
選択した言語で、同じ形で印刷されるクリスマスツリーの形に配置されたプログラムを記述します。 許可されないもの: ソースファイルの印刷 それらがリテラルであるためにインタプリタによってエコーされるステートメントに他ならないコード(たとえば、Pythonでツリー状のリストのタワーを使用するだけ)

4
あなたの言葉を比較検討してください!
チャレンジ 印刷可能なASCII文字(コード)で構成される、それぞれ30までの長さの2つの文字列が与えられた場合、それらをコードの最小バイトのバランススケールに配置します!これは次の手順で構成されます。[ 32 、126 ][32、126][32, 126] 文字列の重みを計算して比較する 適切に傾斜したASCIIアートスケールを選択する 二つの弦をはかりの上に置きます 文字列は、配列、2つの引数、またはその他の適切なメソッドとして渡されます。 文字列の重みは、その文字列の文字の重みの和として定義されます。 スペースのウェイトは0()です 小文字の重みは2(abcdefghijklmnopqrstuvwxyz)です 大文字の重みは4(ABCDEFGHIJKLMNOPQRSTUVWXYZ)です 他のすべての記号の重みは3(!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~)です。 スケールは次のようになります。 。_ | _- * / \ |-* / \ _- * | / \ _- * | / \ / \ | * ------ * / \ | / \ | / \ | …

4
バドミントンサーブの関連部分
前書き: 現在、バドミントンに関連する課題は他に1つしかないことがわかりました。私は自分でバドミントンをしているので(過去13年間)、バドミントンに関連するいくつかの課題を追加すると思いました。ここで2番目(最初のものはここにあります): チャレンジ: バドミントンに関するいくつかのルールは、 サーブは常にネット上で斜めに行われます。 常にネットに平行で最も近いラインの後にサーブする必要があります。 提供できるエリアは、シングル(1対1)かダブル/ミックス(2対2)かによって異なります。 シングル(1対1)の場合、下の画像の青い領域がサービスを提供できる場所です。つまり、これは後ろのパーツ​​を含み、横のパーツを除外しています。 ダブルス/ミックス(2対2)の場合、下の図の緑色の領域がサーバーに許可されています。つまり、これは後ろのパーツ​​を除いて、横のパーツを含んでいます。 あなたがサーブするとき、あなたは列に立つことができません。しかし、シャトルがラインの上に着陸した場合、シャトルはまだ中にあります。 ここでバドミントンフィールドのレイアウト: チャレンジルール: 入力: 2つの入力が与えられます。 シングルまたはダブル/ミックスのどちらを再生するかを示すもの(つまりブール値) あなたは(つまりから提供していたブロックを示すために何か[1,2,3,4]または['A','B','C','D']上の写真で使用されます)。 出力: 現在のサーブ(ネットを含む)に関連する行のみ。これFには、どこからTサーブするかを示すための複数の行と、潜在的にサーブする場所を示すための複数の行が含まれます。 実際には、指定されたエリアのどこからでもサービスを提供することが許可されていますが、サービスを提供する人は常に、ネットの中央に近いサーブエリアの隅に立っていると想定しています。F。そして、彼らは彼らが奉仕しなければならないエリアの四隅のいずれかに奉仕します、それはあなたがTsを配置する場所です。 ASCIIアートとして、バドミントンフィールド全体は次のようになります(数字を追加するので、自分で数える必要はありません)。 2 15 15 2 +--+---------------+---------------+--+ | | | | | 1 +--+---------------+---------------+--+ | | | | | | | | | | | | | | | | | | …

4
エキスパートのようにNimボードを視覚化する
バックグラウンド でニムのゲーム、プレイヤーは「山」から「石」を削除交互:各ターンに、プレイヤーから1とすべての石の間で削除する必要があり、単一の杭。Nimの目的は、最後の石を取るか、または惨めなバリエーションでは、対戦相手に強制することです-ただし、戦略はほぼ同じであることがわかります。 ニムは楽しいバーゲームを作ります。「石」にはマッチ棒やコインを使うことができ、「山」は通常一列に並べられます。以下は、パイルが1、3、5、および7のクラシックなセットアップです。 Nimをプレイしたことがない場合は、このチャレンジに挑戦する前に、Ni​​mを試してみてください。これは、"Pearls Before Swine"と呼ばれるバージョンです。 戦略 Nimの最適な戦略は十分にトリッキーであり、ほとんどの素人は常に専門家に負けますが、バイナリ演算で簡単に説明できます。 ただし、メンタルバイナリXOR演算を実行するのは難しいので、幸運なことに、酔っているときでもリアルタイムで実装しやすい正しい戦略を視覚化する同等の方法があります。 手順は3つだけです。 各行の「ストーン」を2の累乗のサイズのサブグループに精神的にグループ化します。可能な最大のサイズから始めます。ほとんどのゲームでは8、4、2、1で十分です。 各グループを別の行のツインと一致させて、すべてのグループがペアになるようにします。 これが不可能な場合は、ペアになっていない "石"を1行から削除します(これは常に可能です-理由はWikipediaのリンクを参照してください)。これにより、手順2.が可能になります。 または、別の言い方をすると、「1つの山からいくつかの石を削除して、山を2の累乗にグループ化すると、すべてのグループが別の山のグループとペアになる場合があります。」2の大きな累乗を小さな累乗に分割できないことに注意してください。たとえば、8石のラインを4の2つのグループにグループ化することはできません。 たとえば、上記のボードを視覚化する方法は次のとおりです。 このボードは完全にバランスが取れているので、相手を先に動かしたいでしょう。 チャレンジ Nimの「パイル」のサイズを表す正の整数のリストを指定すると、専門家が見たNimボードのプレーンテキストの視覚化を返します。 有効な視覚化を構成するものは、例によって最もよく説明されますが、次のことを行う必要があります。 各「2の累乗サブグループ」とそのペアに個別の文字を割り当て(ペアになっていないサブグループは対象外)、その文字を使用してサブグループとペアの両方の「石」を表します。 ハイフンを使用して、ペアになっていない「ストーン」(つまり、エキスパートが通常のプレー時に削除するもの-不快ではない-Nim)を表します-。 有効な視覚化を実現する方法は複数あり、すべて有効です。いくつかのテストケースを見てみましょう。 テストケース 入力:1、3、5、7 可能な出力1: A BBA CCCCD CCCCBBD オプションで、文字の間にスペースを入れたり、行の間に空白行を入れたりできます。 可能な出力2: A B B A C C C C D C C C C B B D 入力:1、2、3、4、5、6、7、8、9、10 文字の順序と選択は好きなようにすることができます: …

7
コードゴルフ:フェイリーシーケンス(I)
チャレンジ このタスクでは、整数N(10 ^ 5未満)が与えられ、次数NのFareyシーケンスが出力されます。 入力Nは1行で指定され、入力はEOFで終了します。 入力 4 3 1 2 出力 F4 = {0/1, 1/4, 1/3, 1/2, 2/3, 3/4, 1/1} F3 = {0/1, 1/3, 1/2, 2/3, 1/1} F1 = {0/1, 1/1} F2 = {0/1, 1/2, 1/1} 制約 入力数は10 ^ 6の値を超えません 任意の言語を使用できます 最短のソリューションが勝ちます!
10 code-golf  math  code-golf  math  code-golf  number  number-theory  code-golf  math  arithmetic  repeated-transformation  code-golf  geometry  popularity-contest  code-golf  code-golf  tips  haskell  math  fastest-algorithm  code-golf  combinatorics  code-golf  math  polynomials  rational-numbers  code-golf  code-golf  popularity-contest  javascript  code-golf  kolmogorov-complexity  code-golf  code-golf  math  combinatorics  permutations  code-challenge  restricted-source  random  array-manipulation  code-challenge  generation  code-golf  code-golf  ascii-art  arithmetic  division  code-challenge  number  code-golf  math  number  binary  code-golf  ascii-art  code-golf  interpreter  stack  code-golf  internet  networking  code-golf  math  code-golf  ascii-art  code-golf  math  sequence  code-golf  hello-world  restricted-source  code-golf  ascii-art  code-golf  geometry  code-golf  kolmogorov-complexity  pi  code-golf  math  combinatorics  permutations  code-golf  math  code-challenge  ascii-art  code-golf  string  code-golf  quine  code-golf  math  floating-point  golfscript  code-golf  string  code-golf  sliding-puzzle  code-challenge  arithmetic  code-golf  math  code-golf  geometry  optimized-output 

25
相対論的速度を計算する
特殊相対、反対方向に移動している別の物体に対して移動する物体の速度は、以下の式によって与えられます。 s=v+u1+vu/c2.s=v+u1+vu/c2.\begin{align}s = \frac{v+u}{1+vu/c^2}.\end{align} s = ( v + u ) / ( 1 + v * u / c ^ 2) この式では、vvvとuuuはオブジェクトの速度の大きさであり、cccは光速です(これは約3.0×108m/s3.0×108m/s3.0 \times 10^8 \,\mathrm m/\mathrm s、この課題に十分近い近似値)。 たとえば、あるオブジェクトがで動いていてv = 50,000 m/s、別のオブジェクトがで動いてu = 60,000 m/sいる場合、他のオブジェクトに対する各オブジェクトの速度はおよそになりますs = 110,000 m/s。これは、ガリレオ相対論(速度が単純に追加される)の下で予想されることです。ただし、v = 50,000,000 m/sおよびのu = 60,000,000 m/s場合、相対速度はおよそとなり、ガリレイ相対性理論によって予測された106,451,613 m/sものとは大幅に異なり110,000,000 m/sます。 チャレンジ 二つの整数所与vとuするように0 <= v,u …

4
アスキーダンクスター
入力の説明 文字列(最良の結果を得るには、すべての文字が印刷可能で、幅が同じである必要があります)。 出力の説明 パターンに従うキャラクターの星: 0 0 0 1 1 1 222 0123210 222 1 1 1 0 0 0 ここで0、1...は文字列の後続の文字です。出力は必ずしも1つの文字列である必要はありません-コンソールにスター文字を1文字ずつ出力することは問題ありません。 例 >> star('overflow') >> o o o v v v e e e r r r f f f l l l ooo overflowolfrevo ooo l l l f f …

7
雨が降っていますか?わからない
これらは雨滴です: ! | . " : これらは雲の粒子です: ( ) _ @ $ & テキストのブロックが与えられたときに、雨が降っているかどうかを確認してほしい。すべての雨滴について、その上のどこかに雲の粒子がある場合、雨が降っています。雨粒ごとに1つの雲の粒子がなければなりません。あなたの結論を示す真実または偽の値を出力します。 有効な例 (@@@@@@) ( $ & ) Q ( ) .. . ! : . |" ! . ()()() ...... @_$ & errrr h_r-5 .:. . " 無効な例 ! () $$$$$ ( ) ::::: ..... これはコードゴルフなので、キャラクターの中で最も短いプログラムが勝ちます。

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