Si juegas a Warp Factory, en esta guía encontrarás una introducción a la construcción de Puertas Lógicas usando cables. También profundiza y explica cómo hacer puertas sin demora.
Puertas Lógicas en Warp Factory
Cualquier sensor activará el pistón (a la izquierda). Todos los sensores deben estar activos para liberar el imán (a la derecha).
Sin embargo, si queremos activar un pistón cuando todos los sensores están activos o liberar un imán cuando algún sensor está activo, tenemos que hacer algo un poco más avanzado.
Puertas de pistón simples
Si queremos activar un pistón cuando dos (o más) sensores están activos al mismo tiempo, podemos utilizar un sensor extra y un pistón extra. Para simplificar la referencia a ellos, llamemos a nuestros sensores iniciales para nuestro sensores de entrada y nuestro pistón inicial para nuestro pistón de salida, mientras que llamamos a nuestros componentes adicionales para nuestro sensor de puerta y pistón de puerta respectivamente.
Podemos hacer que nuestro pistón de compuerta se active fácilmente cuando cualquier sensor de entrada está activo (de la misma manera que lo hicimos en la Introducción). Sin embargo, al utilizar en su lugar el lado negativo de los sensores de entrada, se activará si algún sensor de entrada está no activo. Recuerda, lo que queremos verificar es si todos los sensores de entrada están activos, pero podemos reformular eso como querer verificar si ningún sensor de entrada está “inactivo”. Cuando ese sea el caso, nuestro pistón de compuerta no estará activo. Al usar nuestro sensor de puerta, podemos detectar el estado del pistón de la puerta y luego controlar el pistón de salida en consecuencia.
Al usar un sensor y un pistón adicionales, podemos crear una puerta AND. Las piezas sueltas son de color blanco. (La razón por la que el pistón no está extendido es simplemente porque no hemos comenzado la fábrica)
De manera muy similar, podemos hacer que se suelte un imán si al menos un sensor está activo. Tenga en cuenta que aquí usamos el lado positivo de nuestros sensores de entrada, mientras seguimos usando el lado negativo de nuestro sensor de puerta.
Un sensor y un pistón adicionales también pueden convertirse en una compuerta NO que adjuntamos a la compuerta OR trivial (la compuerta OR simplemente está conectando varios cables de sensores positivos al mismo bloque).
La forma en que se construye el sensor de puerta y el pistón de puerta entre sí se puede hacer de muchas maneras diferentes. En la siguiente imagen puedes ver algunas de las posibles variantes.
Variantes de la compuerta del pistón. Las piezas sueltas son de color blanco.
Puertas encadenadas
Como ejemplo, intentemos construir una puerta XOR (O EXCLUSIVO). Una puerta XOR debe emitir una señal si alguna de las entradas está activa, pero no si ambas entradas están activas. Para hacer esto, podemos verificar si al menos una entrada está activa y no ambas, o en otras palabras, una puerta AND con entradas de una puerta OR y una puerta NAND. Sin embargo, dado que nuestro diseño de puerta AND utiliza entradas invertidas, lo que realmente necesitamos es que nuestra puerta AND obtenga sus entradas de una puerta NOR y una puerta AND.
Una puerta XOR. La puerta más a la izquierda es la puerta NOR. La más a la derecha es la puerta AND de las entradas. La del medio es la puerta AND que usa las salidas de las otras puertas como entradas.
Retrasos del pistón
No solo aumentará el retraso con la complejidad, la salida final puede parpadear entre los valores inestables y los valores reales. Esto puede suceder si hay subcadenas en la lógica de diferente longitud, ya que eso significa que una subcadena cambia antes que la otra.
Siempre que haya un retraso en nuestras puertas, tendremos que considerar salidas retrasadas e inestables que pueden o no causar problemas en nuestras fábricas. Las puertas lógicas en las computadoras también tienen pequeños retrasos y para evitarlo se usa un llamado reloj. Los valores de salida solo se utilizan cuando el reloj pulsa, lo que da como resultado que se ignore cualquier comportamiento inestable (como sucede entre los pulsos del reloj). Si bien podríamos crear una especie de reloj nosotros mismos, tenemos acceso a algo que las computadoras no tienen: portales.
Puertas instantáneas
El concepto central de la puerta del portal es el hecho de que los sensores pueden ver a través de un portal, detectando lo que hay al otro lado.
Sensor que ve a través de un conjunto de portales. Tenga en cuenta la línea roja del sensor.
Sin embargo, nunca detectaremos nada en el otro lado, ese es el punto. Si la línea del sensor llega al otro lado, el lado negativo del sensor se activará. Podemos evitar que la línea llegue al otro lado simplemente apagando el portal. Cuando el portal está inactivo, la línea no puede atravesarlo y el sensor verá el bloque del portal en sí, lo que activará el lado positivo.
Una puerta AND hecha con un conjunto de portales. Una vez que ambos sensores se activan, el portal se reactivará y el sensor de la puerta ya no verá nada.
Encadenamiento de puertas instantáneas
Una puerta XOR hecha con portales. Tiene un retraso de 0 tics.
Sin embargo, las puertas del portal también se pueden encadenar de otra manera. Podemos darle a cada sensor de puerta múltiples conjuntos de portales. De esa manera, el lado negativo del sensor solo se activará si todos los pares de portales están abiertos.
Otra puerta XOR. Este solo tiene dos partes, una verificando que la primera entrada sea la única activa, la otra verificando si la segunda entrada es la única activa.
La mayoría de las veces no necesitamos utilizar varios conjuntos de portales, ya que las señales de entrada pueden ir todas al mismo. Sin embargo, el uso de varios pares de portales puede facilitar la visualización de lo que está sucediendo, ya que es más fácil ver qué portal impide que pase la línea del sensor.
Una versión más compacta de la puerta XOR.
Compacto Factories
Al construir una puerta de portal, lo único que es importante es que el sensor pueda ver un lugar vacío cuando todos los portales están abiertos.
4 puertas de portal, cada una frente al mismo espacio vacío.
Una puerta de portal con 3 pares de portales.
No hace falta decir que cuanto más extraños los construyas, más difícil será hacer un seguimiento de lo que hacen.
Ejemplo de rompecabezas real
Posible solución a «Adder»