La mort du pixel art basse résolution (ou dessinez cette mort)

20

Ceci est un webcomic irrégulier! tâche thématique. *

La mort est une organisation assez étendue et, bien que Head Death n'ait eu aucun mal à distinguer ses employés, certaines autres entités liées à l'organisation ont eu du mal à les suivre toutes.

Ainsi, votre tâche ici est de, étant donné le titre de l'un des différents décès, générer l'image correspondante de 32x32 pixels de ce décès.

De plus, comme Head Death est plutôt bureaucratique (et un peu avare), le programme le plus court (après avoir pris en compte quelques bonus) sera celui choisi pour un usage officiel.

L'entrée doit être insensible à la casse. En outre, les préfixes Death Of, Death Byet The Death Ofdoivent être traités comme équivalents.

L'image de sortie peut être enregistrée dans un fichier (dans n'importe quel format d'image bitmap sans perte) ou affichée à l'écran.

Les valeurs RVB EXACT à utiliser sont les suivantes:

White 255 255 255
Black 0 0 0
Dark Gray 125 125 125
Bone Gray 170 170 170
Purple 60 0 140
Brown 120 40 0
Blue 0 80 200
Green 0 100 0
Neon Green 100 255 0
Red 0 255 0

(Notez que nul mort n'utilise toutes ces couleurs, et la seule couleur qui leur est commune est le gris os)

Chaque image de sortie illustrée ici est d'abord affichée à sa taille réelle, puis en gros plan 3x.

Vous devez prendre en charge les décès suivants:

La mort de boules de feu incroyablement maîtrisées

entrez la description de l'image ici entrez la description de l'image ici

La mort de l'étouffement d'une grenouille géante

entrez la description de l'image ici entrez la description de l'image ici

Mort de tête

entrez la description de l'image ici entrez la description de l'image ici

La mort de la lutte à mort par Steve

entrez la description de l'image ici entrez la description de l'image ici

La mort de l'inhalation de produits chimiques pour la chapellerie

entrez la description de l'image ici entrez la description de l'image ici

Charon

entrez la description de l'image ici entrez la description de l'image ici

(Notez que le rôle exact de Charon dans l'organisation est inconnu)

Vous n'êtes pas tenu de prendre en charge les décès suivants, mais vous pouvez le faire pour divers bonus

Mort en faisant écraser votre bassin (bonus de -8%)

entrez la description de l'image ici entrez la description de l'image ici

La mort d'être broyé par un outil d'abrasion de Mars Rover Rock (bonus de -10%)

entrez la description de l'image ici entrez la description de l'image ici

La mort par noyade dans un bassin de réacteurs (-10% de bonus)

entrez la description de l'image ici entrez la description de l'image ici

La mort d'être empalé par un javelot (bonus de -8%)

entrez la description de l'image ici entrez la description de l'image ici

La mort d'être poignardé par un coutelas (-9% de bonus)

entrez la description de l'image ici entrez la description de l'image ici

La mort des livraisons de mauvaises pizzas (-7% de bonus)

entrez la description de l'image ici entrez la description de l'image ici

(Probablement la seule mort à ne pas porter de cape. Ne me demandez pas pourquoi.)

Si vous ajoutez tous les inclure, le multiplicateur final est 0.92*0.9*0.9*0.92*0.91*0.93≈0.58.

Bonus supplémentaire

Si vous utilisez un format RGBA et remplacez le fond blanc par de la transparence, économisez 12% supplémentaires.

* Webcomic irrégulier! est © 2002-Present David Morgan-Mar. CC BY-NC-SA.

SuperJedi224
la source
Comme il y avait beaucoup de défilement à faire avec les images, je les ai placées côte à côte au lieu de verticalement. J'espère que c'est une amélioration, mais n'hésitez pas à annuler la modification si ce n'est pas ce que vous voulez.
trichoplax

Réponses:

7

JavaScript (ES6), 714 677,97 651,76 634,36 545,76 1063 - (8% * 10% * 10% * 8 * 9% *% 7% * 12%) = 542,75

e=>(e=e.slice(-4,-2),c=document.createElement("canvas"),c.width=c.height=32,t=(r="000")=>(o=c.getContext("2d")).fillStyle="#"+r,r=(r,t,l=1,e=1)=>o.fillRect(r,t,l,e),u=12,i="7d7d7d",t(),r(l=13,8,3),(n=!/ea|te|ca|ri|Po/.test(e))&&(r(l,6,3,5),r(u,7,5,3)),"ca"==e&&(r(l,3,3,3),r(u,6,5)),"ri"!=e&&(t("ea"==e?"3C008C":/te|Po/.test(e)?"006400":""),r(10,l,9,15+("ea"==e)),r(11,u,7),r(u,11,5)),"te"==e&&(t("782800"),r(u,6,5),r(l,5),r(15,5)),"ri"==e&&(t("f00"),r(l,5,3,2),r(16,6)),t("aaa"),r(l,7,3),r(l,9,3),r(m=14,8),r(m,u,1,u),r(u,u,5),r(l,m,3),r(l,16,3),r(l,18,3),r(l,20,3),r(l,24,3),r(u,25),r(16,25),r(11,26,1,6),r(17,26,1,6),r(17,l,1,8),n||r(m,10,1,2),/al|ar|sh|el|To/.test(e)?(r(8,u,4),t(),r(7,9,1,23),"al"==e&&(r(3,9,4,2),r(2,10,1,2)),"sh"==e&&r(2,8,6,4),"el"==e&&(r(6,6,3,4),r(7,4,1,2),r(5,8,5)),"To"==e&&(r(6,8,3,23),r(4,m,2,3),r(3,m),r(l,9,3),t("fff"),r(6,9),r(5,15),t("0050c8"),r(l,7,3,2),r(m,9))):"la"==e?(r(11,u),r(10,l),r(9,15,1,2),t(i),r(9,17,1,12),r(8,17),r(7,18),r(8,19)):r(11,l,1,8),"Po"==e&&(t(i),r(l,10,3),t("64ff00"),r(u,7,5,3),r(l,6,3)),c.toDataURL())

Génère une URL de données vers un png de l'image et couvre tous les bonus.

EDIT: Je viens de réaliser le bonus qu'un fond transparent supprime encore 12%, ce qui réduit également mon nombre d'octets!

Mwr247
la source