Aujourd'hui (24 septembre) est l'anniversaire de HONDA [fermé]


10

aujourd'hui (24 septembre) est l'anniversaire de la société HONDA. À l'origine, le nom de leur entreprise est

本田技研工業株式会社

Je veux demander de faire un cadeau pour HONDA. La tâche consiste à créer le nom de la société d'impression du programme. Vous pouvez le faire comme vous le souhaitez, mais il n'y a qu'une seule règle, Unicode n'est pas autorisé. Ce devrait être de l'art ASCII.

Je veux demander de publier le code et la sortie. Comme toujours pour déterminer le gagnant, je vais regarder la longueur du code, mais le portrait dans ce cas est également important.

EDIT: la sortie doit ressembler à ceci:本田技研工業株式会社


Bon, alors qu'est-ce qui nous empêche d'utiliser 'HONDA'et de prétendre qu'il imprime le nom de la société dans GolfScript? (J'essaie juste de signaler quelques lacunes). Est-ce aussi destiné à être étiqueté comme code-golf ?
Volatilité

@Volatility que j'ai fait éditer après votre commentaire.
ST3

Unicode is not allowedoù? En sortie (sonne raisonnable)? Comme script? En tant que représentation interne dans votre script?
Johannes Kuhn

@JohannesKuhn Je voulais dire qu'aucun des caractères imprimés ne peut être UNICODE, dans le script, vous pouvez l'utiliser mais la sortie doit être sur des caractères de table ASCII.
ST3

2
La spécification est trop vague pour permettre une détermination objective de savoir si un programme y répond ou non.
Peter Taylor

Réponses:


20

Mathematica

Ici, les caractères sont tramés individuellement. Les zéros des données d'image binaire d'une image réduite sont ensuite remplacés par des astérisques et le tableau lui-même est ensuite imprimé.

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

Honda

En dessous, tous les caractères ont été tramés en une seule image. Les astérisques sont un peu plus difficiles à reconnaître comme astérisques dans ce cas.

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

image2


Très, très gentil
Dr belisarius

Sensationnel. Semble très bien. L'une des exigences était un portrait visuel et votre solution est de très haute qualité, c'est pourquoi j'accepte votre réponse.
ST3

11

Tcl

Eh bien, une approche probablement folle.

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

Voici une capture d'écran:

capture d'écran


La sortie est-elle la même que 本田技研工業株式会社?
ST3

Eh bien et ne regardez pas très bien, mais dans l'ensemble une bonne solution.
ST3

Je ne génère aucun caractère Unicode. Je viens de les prendre en photo et de les rendre Ascii. Eh bien, n / b.
Johannes Kuhn

Je pourrais plus de caractères différents pour afficher les nuances. (Au prix de la taille du programme)
Johannes Kuhn

6

JavaScript + HTML, version interactive (275 + 90 = 365 caractères)

Beaucoup d'idées inspirées par la réponse d' Austin , mais celle-ci est interactive; vous pouvez changer la taille de la police! (le nombre de caractères est également correct)


Capture d'écran

Appuyez sur les boutons -et +pour modifier la taille de la police. L'image est coupée, mais vous avez l'idée.

image


Violon (essayez-le vous-même!)

Voici un JSFiddle où vous pouvez exécuter le code vous-même.


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>

Version haute résolution

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

image



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)est de trois octets plus court.
Conor O'Brien

4

Javascript, 261 caractères, 226 minifiés

merci à jsacii d' avoir inspiré cette solution.

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";
}

minifié

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"}

et la sortie

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

Je pense que la première ligne de sortie devrait être corrigée.
ST3

C'était juste du collage dans l'éditeur, corrigé dans l'édition
Professor Allman

C'est 261 caractères, selon mon décompte ...
Poignée de porte

@Doorknob j'ai posté le compte minifié, modifié dans la mise à jour
Professeur Allman

Vous pouvez supprimer les varinstructions des forboucles et les remplacer (si vous le souhaitez) "*"par un nombre.
Conor O'Brien

1

Java, 267 260 caractères

D'accord, je suppose que ma solution n'est pas si différente de la réponse de Johannes Kuhn, mais comme il semble que c'est un problème qui peut être bien géré en Java; ma solution n'est pas beaucoup plus longue; et la sortie est légèrement différente, je le posterai quand même:

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":"")));}}

Formaté comme:

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" : "")))
            ;
    }
}

Production:

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

@Bakuriu Utilisez une police différente. @ memo: vous pouvez enregistrer 6 caractères en n'important PAS. (l'importation coûte 36 caractères, l'utilisation du nom complet complet coûte 15 caractères pour chaque utilisation).
Johannes Kuhn

@Johannes Kuhn: Vous avez absolument raison. J'ai mis à jour la réponse en conséquence et j'ai également trouvé un autre blanc redondant dans la déclaration de tableau.
mémo
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.