¿Alguien tiene algún código de golf para el golf en Processing ? Es una extensión gráfica de Java, y es algo difícil de jugar al golf.
13
¿Alguien tiene algún código de golf para el golf en Processing ? Es una extensión gráfica de Java, y es algo difícil de jugar al golf.
Respuestas:
void draw()
y poner todo envoid setup()
.(100, 100)
de forma predeterminada.height
ywidth
en su código, generalmente es más corto usar sus valores numéricos. Por ejemplo, con un lienzo de tamaño(100, 100)
, utiliza99
para reemplazarheight
ywidth
puede ahorrarle 7 bytes.fuente
Si solo ejecuta código en el método de configuración, entonces no necesita escribir el esquema del método. Por ejemplo, puedes escribir:
en lugar de
Y siempre que no utilice ningún otro método, todo se colocará en el método de configuración antes de ejecutar
fuente
(R, G, B)
Notación de coloresColores hexadecimales
El procesamiento es muy flexible en formato de color.
se puede escribir usando notación hexadecimal como
Escala de grises
Aquí hay un uso especial para los colores si todos los valores Rojo, Verde y Azul son iguales (blanco):
Los tres parámetros se pueden acortar en un parámetro que contiene el valor de escala de grises: de
0
negro a255
blanco.Esto también se puede extender para alfa:
Ambos significan el mismo color, pero la última forma es más corta en 8 bytes.
Alfa
Aunque es obvio, debe señalarse que el parámetro alfa para especificar colores es opcional, ya que los colores tienen un valor alfa predeterminado
255
(100% opaco).Resumen: formatos de color
Use el formato de color más corto para expresar su color (recuerde omitir bits innecesarios, dependiendo del contexto del programa, por ejemplo: alfa o escala de grises)
R
: RojoG
: verdeB
: azulA
: alfag
: escala de grisesfuente
Abreviar constantes
Si alguna vez usa una de las palabras clave con mayúsculas en el procesamiento (como
DIFFERENCE
oTRIANGLE_FAN
), vea si el número al que corresponden es más corto.Por ejemplo,
DIFFERENCE
es solo unint
equivalente a 32. En lugar de usarDIFFERENCE
aquí , podría escribir32
, guardando 8 caracteres.fuente
Alternativa más corta a
void keyPressed(){}
Se
void draw(){}
necesita por defecto parakey
poder actualizarse. Si el usuario no ha presionado una tecla desde el inicio del programa,key
se le da un valor de0
. Al verificar si es más que0
(es decir, el usuario ha presionado una tecla), tenemos un código de golf y ahorramos 10 bytes.fuente
Blanco
#FFFFFF
Relacionado: notación de color
En lugar de usar esto para el blanco:
Puedes hacerlo:
y ahorre 1 byte.
fuente
Configuración y confirmación de píxeles con set ()
Es más eficiente establecer píxeles a través de píxeles [] :
Sin embargo, eso requiere
updatePixels()
y también usar un índice que, según el escenario, requerirá convertir una posición x, y en un índice de píxeles. Para mantener las cosas cortas, a pesar de que es menos eficiente para la CPU (ya que cada llamada actualiza todo el búfer), set () permite que se configure un píxel y se compromete con el búfer de inmediato en una sola llamada.fuente