本日(9月24日)はHONDAの誕生日です【休業】


10

今日(9月24日)はHONDA社の誕生日です。元々の会社名は

本田技研工業株式会社

ホンダへのプレゼントをお願いしたいです。タスクは、プログラムの印刷会社名を作成することです。あなたは好きなようにそれを行うことができますが、唯一のルールがあります、ユニコードは許可されていません。ASCIIアートである必要があります。

コードの投稿と出力をお願いしたいです。いつも勝者を決めるために、コードの長さを見ていきますが、この場合のポートレートも重要です。

編集:出力はこれに似ている必要があります:本田技研工業株式会社


では'HONDA'、GolfScriptで会社名を印刷して使用すると主張する理由は何でしょうか。(私はいくつかの抜け穴を指摘しようとしています)。また、これはコードゴルフとしてタグ付けされることを意図していますか?
ボラティリティ2013

@ボラティリティコメントの後に編集しました。
ST3

Unicode is not allowedどこ?出力で(妥当な音)?スクリプトとして?スクリプトの内部表現として?
Johannes Kuhn

@JohannesKuhn私は、印刷された文字がUNICODEになることはないことを意味しました。スクリプトでは使用できますが、出力はASCIIテーブル文字である必要があります。
ST3

2
仕様が曖昧すぎて、プログラムがそれを満たすかどうかを客観的に判断できません。
Peter Taylor

回答:


20

Mathematica

ここで文字は個別にラスタライズされます。次に、縮小画像のバイナリ画像データのゼロがアスタリスクで置き換えられ、配列自体が出力されます。

GraphicsGrid[ImageData@ImageResize[Binarize@Rasterize@Style[#, 136], 30] 
/. {1 -> "", 0 -> "*"}] & /@ Characters["本田技研工業株式会社"]

ホンダ

以下では、すべての文字が単一の画像としてラスタライズされました。この場合、アスタリスクをアスタリスクとして認識するのは少し難しいです。

GraphicsGrid[ImageData@ImageResize[Binarize@Rasterize@Style[#, 136], 300] 
/. {1 -> "",  0 -> "*"}, ImageSize -> 1500] &["本田技研工業株式会社"]

画像2


とても、とても良い
ベリサリウス博士

ワオ。とてもよさそうだ。要件の1つは視覚的なポートレートであり、ソリューションにはその品質が非常に高いため、それが私があなたの答えを受け入れる方法です。
ST3 2013

11

Tcl

まあ、クレイジーなアプローチでしょう。

package r Tk
package r Img
pack [label .l -text 本田技研工業株式会社 -fg #000000 -bg #ffffff]
update
puts [join [lmap line [[image create photo -data .l] data] {join [lmap pixel $line {expr {$pixel ne {#ffffff}?"@":" "}}] {}}] \n]
exit

ここにスクリーンショットがあります:

スクリーンショット


出力は同じ本田技研工業株式会社ですか?
ST3

まあ非常によく見えませんが、すべての良い解決策で。
ST3

Unicode文字を出力しません。私はそれらの写真を撮って、それをアスキーとしてレンダリングします。ええと、b / w。
Johannes Kuhn

色合いを表示するために、より多くの異なる文字を使用できます。(プログラムサイズを犠牲にして)
Johannes Kuhn

6

JavaScript + HTML、インタラクティブバージョン(275 + 90 = 365文字)

オースティンの回答に触発された多くのアイデアがありますが、これはインタラクティブです。フォントサイズを変更できます!(文字数も実際には正しいです)


スクリーンショット

ボタン-+ボタンを押すと、フォントサイズが変更されます。画像が途切れるが、あなたはアイデアを得ます。

画像


フィドル(自分で試してみてください!)

これは、自分でコードを実行できるJSFiddleです。


JS、275

h=30,(r=function(){for(x=document.createElement('canvas').getContext('2d'),x.font=h+'px sans-serif',x.fillText('本田技研工業株式会社',0,h),d=x.getImageData(0,0,w=h*10,h).data,s='',a=0;a<h;a++){for(b=0;b<w;b++)s+=d[3+w*4*a+4*b]?0:' ';s+='\n'}document.getElementById('p').innerHTML=s})()

HTML、90

<button onclick='h--;r()'>-</button><button onclick='h++;r()'>+</button><pre id='p'></pre>

高解像度バージョン

http://jsfiddle.net/UjTbK/1/

画像



r=function(h){for(x=document.createElement('canvas').getContext('2d'),x.font=h+'px sans-serif',x.fillText('本田技研工業株式会社',0,h),d=x.getImageData(0,0,w=h*10,h).data,s='',a=0;a<h;a++){for(b=0;b<w;b++)s+=d[3+w*4*a+4*b]?0:' ';s+='\n'}document.getElementById('p').innerHTML=s} (30)3バイト短い。
Conor O'Brien

4

JavaScript、261文字、226縮小

jsaciiがこの解決策を開発してくれたことに感謝します。

c = document.createElement('canvas').getContext('2d');
c.font="30px sans-serif";c.fillText("本田技研工業株式会社", 0,30);d=c.getImageData(0,0,305,40).data;
s="";
for(var y = 0; y<40;y+=2){
    for(var x=0;x<305;x++)
        s += d[3+4*x+1220*y]? "*" : " ";
    s+="\n";
}

縮小した

c=document.createElement("canvas").getContext("2d");c.font="30px sans-serif";c.fillText("本田技研工業株式会社",0,30);d=c.getImageData(0,0,305,40).data;s="";for(var y=0;y<40;y+=2){for(var x=0;x<305;x++)s+=d[3+4*x+1220*y]?"*":" ";s+="\n"}

そして出力

             ****                                                ****        ****                                                                                ***  ***                ****        ****                           **                       ****                  ****         ****             
             ****               **************************       ****        ****          *****************************                                  ****   ***  ***   ****         ****    ********                          ********                 ******                 ****         ****             
             ****               **************************       ****        ****      *    ** ******* ****** ****** **    *************************       ****  ***  ***  ****          ****   **** ****                          **** *****             **********                ***         ****             
 ****************************   ****       ****       ****   ****************************     ****       ****   ****       ************************    ****************************  ***************************   ****************************        ******    ******        *************    ****             
  ***************************   ****       ****       ****   ***********     ****             ****       ****   ****                 ****                     ****      ****         ***************************   ****************************     *******        *******             ****     ****             
          *********             ****       ****       ****       ****        ****            ****        ****   ****                 ****               **************************      **********   ****                          ****          *****************************       *********************       
         ************           **************************       **** *****************     ****************************             ****               **************************      *************************    ******************          ****  ****************  *****      ****   **** **********       
       ***** **** ****          **************************       ******* ****      ****    ******  ********************              ****                 **********************       **************************    ******************                                           *******       ****             
      *****  ****  *****        ****       ****       ****   ********    *****   *****    *******  ***   ****   ****                 ****                 **********************      *******      ********               ****      ****         ****************************  *************    ****             
   ******    ****    ******     ****       ****       ****   ********      **** ****       * ****  ***   ****   ****                 ****              **************************** *********     ***********             ****      ****           *      ****     *      **   **** *** ****    ****             
 *****************************  ****       ****       ****       ****       *******          ****  ***  ****    ****                 ****              ****************************  **  ****   ********* *****           ****     * ****   ***          ****    *****              ***         ****             
 ****   *    ****        ****   ****       ****       ****       ****      *********         ********* *****    ****     ****************************        ****************            **********  ****  ******         *********** ****  ****        ****       *****            ***         ****             
             ****               **************************       ****  *******  *******      **************     ****     ****************************  **********  ****  ***********     ********    ****    ****  **************      ********    ***********************          ***  *******************     
             ****               ****                  ****   **************        *******   ****    *****      ****                                   ******      ****       *****      ****        ****           ***                 ******    ****************     *****       ****  *******************     
             ***                                                 *                     *              **         **                                                ****                  ****         ***                                                               **          ***                          

最初の出力行は修正すべきだと思います。
ST3 2013

それは編集者に貼り付けただけで、編集で修正されました
Allman教授、

私の計算では、これは261文字です
。–ドアノブ

@Doorknob私は更新で変更された縮小カウントを投稿しました
Allman教授

ループvarからステートメントを削除し、for必要に応じ"*"て数値に置き換えることができます。
Conor O'Brien

1

Java、267 260文字

私の解決策はJohannes Kuhnの回答とそれほど変わらないと思いますが、これはJavaでうまく処理できる問題のようです。私の解決策はそれほど長くはありません。出力は少し異なりますが、それでも投稿します。

class A{public static void main(String[]a){java.awt.image.BufferedImage b=new java.awt.image.BufferedImage(130,16,2);b.createGraphics().drawString("本田技研工業株式会社",0,13);for(int y=0;y<2080;System.out.print((b.getRGB(y%130,y/130)<0?"#":" ")+(++y%130<1?"\n":"")));}}

フォーマット:

class A {
    public static void main(String[]a) {
        java.awt.image.BufferedImage b = new java.awt.image.BufferedImage(130, 16, 2);
        b.createGraphics().drawString("本田技研工業株式会社", 0, 13);
        for (int y = 0; y < 2080; System.out
                .print((b.getRGB(y % 130, y / 130) < 0 ? "#" : " ")
                        + (++y % 130 < 1 ? "\n" : "")))
            ;
    }
}

出力:

      #                     #     #                                   # #        #  # #                       #         #    #    
      #       ###########   #     #     #### #######                # # # #      #  # #            # ##      # #        #    #    
 ###########  #    #    #   #  ########   #   #  #    ##########  # # # # # #    #  ######         #       ##   ##    #####  #    
      #       #    #    # ####    #      #    #  #        #       ###########  ### #  #     ############  #       #       #  #    
     ###      #    #    #   #     #      #    #  #        #          #   #       #    #            #     # ######  ##    #  ##### 
    # # #     ###########   #  #######   ### #######      #       ###########   ### #######  ##### #                    #    #    
   #  #  #    #    #    #   ##  #   #   ## #  #  #        #        #########   # #    #        #   #                   ###   #    
  #   #   #   #    #    # ###    #  #    # #  #  #        #            #       # #   ###       #    #    ###########  # # #  #    
 #  #####  #  #    #    #   #    # #     # #  #  #        #       ###########  # #  # # #      #    #        #          #    #    
 #    #     # #    #    #   #    ###     ### #   #        #          # # #       # #  #  #     # ## #  #    #   #       #    #    
      #       ###########   #  ##   ##   # # #   #   ###########   ##  #  ###    # #  #   # #####    # #    #    #      # ####### 
      #       #         # ##  #       #      #   #                #    #     #   #    #               #  ######## ##    #         

@Bakuriu別のフォントを使用してください。@メモ:インポートしないことで6文字保存できます。(インポートには36文字、完全修飾名を使用すると15文字が使用されます)。
Johannes Kuhn

@ヨハネス・クーン:あなたは絶対的に正しいです。それに応じて答えを更新し、配列宣言に別の冗長な空白を見つけました。
メモ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.