Diviértete con este, The Powder Toy es un desafío interesante para el golf, especialmente con la lógica de filtrado.
Lo que hace que TPT sea un desafío son las muchas, muchas, muchas formas de abordar un problema: Should I use Cellular Automaton rules, SWCH logic, Filt logic, subframe filt logic, and/or wall logic?
Como tal, una ubicación para consejos para golf TPT sería bastante útil, así que hice este hilo de preguntas.
Este hilo probablemente usará muchas abreviaturas. Muchos de ellos serán elementos en el juego, por lo que buscarlos en el Wiki te brindará mucha información sobre ellos, como lo que son.
Estos son los más comunes que probablemente verá en este hilo, con su descripción del juego adjunta (y su nombre completo), para las personas que no quieren ir a buscar:
- SPRK: Electricidad. La base de toda la electrónica en TPT, viaja a lo largo de cables y otros elementos conductores.
- FILTRO: Filtro. Filtro para fotones, cambia el color.
- ARAY: emisor de rayos. Los rayos crean puntos cuando chocan.
- BTRY: batería. Genera electricidad infinita.
- DRAY: rayo duplicador. Replica una línea de partículas frente a ella.
- CRAY: Emisor de rayos de partículas. Crea un haz de partículas establecido por su tipo, con un rango establecido por tmp.
- SWCH: interruptor. Solo conduce cuando está encendido. (PSCN se enciende, NSCN se apaga)
fuente
Respuestas:
Solo use la lógica de subtrama cuando sea más pequeña
Y, para máquinas más complejas, a menudo es mucho más pequeño.
La subtrama generalmente impone la sobrecarga de crear SPRK sólido (aproximadamente 3 píxeles para la mayoría de las direcciones, un píxel adicional en comparación con solo un BTRY), 'canales' FILT (para una rápida transferencia BRAY) y minimizar la cantidad de lógica no subtrama, incluso si es más pequeña , debido a que es muchas veces (¡4x a 20x-30x más lento!) más lento.
La lógica de subtrama a menudo es buena para operaciones complejas (que es la mayoría de los desafíos aquí), pero para las más simples, la lógica de subtrama probablemente no sea óptima.
fuente
Conoce tus modos de FILTRO
FILT es, al menos para FILT y la lógica de subtrama, la piedra angular de la informática en TPT. Y como tal, tiene un montón de trucos para hacerte la vida más fácil, en forma de varios modos. Establece un modo FILT usando
tmp
, pero una lista completa que describe las complejidades de estos modos no es realmente una cosa en este momento. FILT toma dos entradas: su propio color (CTYPE) y el color de lo que está interactuando, ya sea BRAY o CRAY. Etiquetaré estos FILTC e INTRC, respectivamente, para esta lista.Modo 0:
El modo más simple, establece INTRC en el valor de FILTC, nada más.
Modo 1:
Este es un AND binario, y une INTRC y FILTC, configurando INTRC como resultado.
Modo 2:
Este es un OR binario, reúne INTRC y FILTC, configurando INTRC como resultado.
Modo 3:
Este modo es un poco más complicado, y combina el inverso de FILTC e INTRC, configurando INTRC como resultado.
Modo 4:
Este modo es un poco más difícil de describir. Es un desplazamiento rojo (desplazamiento binario a la izquierda),
El problema aquí es que la cantidad por la que cambia está controlada por su temperatura, con la ecuación (Temperatura-273.0) * 0.025, por defecto a un cambio de 1 si el valor es menor que 1. Puede lograr un cambio de cualquier cantidad requerida multiplicando la cantidad de bits que necesita por 40 y agregando 273.0. Llamaré a la cantidad desplazada X.
Como tal, INTRC se desplaza hacia la izquierda por X, configurando INTRC como resultado.
Modo 5:
Esto es esencialmente el modo 4, pero con un desplazamiento a la derecha en su lugar. Consulte la información en el modo 4 para saber cómo usarlo.
Modo 6:
No hace nada.
Modo 7:
Realiza un XOR binario en INTRC y FILTC, estableciendo INTRC en el resultado.
Modo 8:
Realiza un NOT binario en INTRC, estableciendo INTRC en el resultado.
Modo 9:
Establece INTRC en un color aleatorio.
Modo 10:
Realiza una versión diferente de un cambio rojo.
[TODO: descubre cómo describirlo]
Modo 11:
Realiza una versión diferente de un turno azul.
[TODO: descubre cómo describirlo]
fuente