Consejos para jugar golf en The Powder Toy


9

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)

Lista de todos los elementos.


1
@ mbomb007 Gracias por agregar el enlace. Solo iba a pedir eso. No conozco TPT y pensé que era un desafío sobre los juguetes que solían, y tal vez todavía se encuentran, en paquetes de detergente ...: /
Arnauld

@Arnauld Jaja. Whoops Gracias mbomb007: P
moonheart08

¿Cómo se calcula el puntaje?
12Me21

@ 12Me21 Por el momento, la puntuación se basa en el archivo guardado. Puedes discutir eso en esta meta publicación
moonheart08

Respuestas:


2

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.


pls agrega imágenes tyvm
solo ASCII

@ Solo ASCII Lo haré cuando llegue a casa.
moonheart08

3
Sería bueno si pudieras deletrear las cosas en lugar de usar tantas abreviaturas. No todos están familiarizados con el juego, pero algunos pueden encontrarlo interesante.
mbomb007

@ mbomb007 Solo voy a notar que FILT, BTRY, BRAY, SPRK, etc. son solo nombres para partículas en el juego. El juego en sí usa esos nombres. ¿Debo poner el wiki del juego en la publicación principal? Las personas pueden buscar esos nombres allí y descubrir cuáles son con bastante facilidad.
moonheart08

1

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.

    INTRC = FILTC
    
  • Modo 1:

    Este es un AND binario, y une INTRC y FILTC, configurando INTRC como resultado.

    INTRC = INTRC & FILTC
    
  • Modo 2:

    Este es un OR binario, reúne INTRC y FILTC, configurando INTRC como resultado.

    INTRC = INTRC & FILTC
    
  • Modo 3:

    Este modo es un poco más complicado, y combina el inverso de FILTC e INTRC, configurando INTRC como resultado.

    INTRC = INTRC & (~FILTC)
    
  • 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.

    X = (temperature-273.0)*0.025
    INTRC = INTRC << X
    
  • 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.

    X = (temperature-273.0)*0.025
    INTRC = INTRC >> X
    
  • Modo 6:

    No hace nada.

    INTRC = INTRC
    
  • Modo 7:

    Realiza un XOR binario en INTRC y FILTC, estableciendo INTRC en el resultado.

    INTRC = INTRC ^ FILTC
    
  • Modo 8:

    Realiza un NOT binario en INTRC, estableciendo INTRC en el resultado.

    INTRC = ~INTRC
    
  • Modo 9:

    Establece INTRC en un color aleatorio.

    INTRC = rand()
    
  • Modo 10:

    Realiza una versión diferente de un cambio rojo.

    [TODO: descubre cómo describirlo]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC * LSB
    
  • Modo 11:

    Realiza una versión diferente de un turno azul.

    [TODO: descubre cómo describirlo]

    LSB = FILTC & (-FILTC)
    INTRC = INTRC / LSB
    
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.