Controls Guide: Controles, Processor y Logic
Los controles cubren la entrada del jugador y el sistema de control lógico dentro del juego (Processors e instrucciones de control) usado para comandar unidades y edificios. Un buen uso de los controles agiliza la micromanipulación, automatiza transportadores y máquinas, y desbloquea comportamientos avanzados mediante el Processor.
Controles del jugador (PC y móvil)
Unidad del jugador
- Movimiento: WASD / teclas de flecha en PC; arrastra la pantalla en móvil.
- Interactuar: clic izquierdo (PC) / tocar (móvil) para disparar o para colocar edificios.
- Minar: clic izquierdo sobre mineral (PC) o tocar el mineral (móvil) para minar.
- Poseer: Ctrl + clic izquierdo (PC); tocar una unidad (móvil) para poseerla.
- Reaparecer: pulsa la tecla de reaparecer para volver al core más cercano.
- Impulso: pulsa la tecla de impulso para correr/impulsar la unidad; en móvil arrastra la pantalla lejos de la unidad para impulsar.
- Carga: recoge y suelta carga con las teclas de recoger/soltar; en móvil mantén pulsado para recoger o soltar.
Edificios y construcción
- Colocar edificio: clic izquierdo (PC) o tocar (móvil).
- Borrar/deseleccionar: clic derecho (PC) o usa la interfaz de martillo/borrar en móvil.
- Pausar/reanudar construcción: usa la tecla de pausa de construcción.
- Selección de región/reconstrucción: usa las teclas de selección de región y reconstrucción para trabajar con múltiples bloques y esquemas.
- Configuración de bloques: muchos bloques son configurables tocándolos/seleccionándolos; algunos bloques consumen el evento táctil al tocarse y pueden configurarse directamente.
Órdenes de unidades y vista
- Abre la interfaz de órdenes de unidad con la tecla de órdenes de unidad.
- Selección en grupo: Shift + clic izquierdo para seleccionar un área de unidades.
- Seleccionar todas las unidades o todas las fábricas de unidades con sus respectivas teclas rápidas.
- Dar múltiples waypoints: Shift + clic central (PC).
- Zoom: rueda del ratón.
- Alternar visibilidad de la interfaz, pantalla completa, menú y consola tienen sus propias teclas rápidas.
- Multijugador: la lista de jugadores y el chat tienen teclas dedicadas; la rueda del ratón desplaza el historial del chat.
Resumen de Logic (qué significa controls en el juego)
Logic es el sistema de scripting dentro del juego ejecutado por Processors. Proporciona instrucciones deterministas de bajo nivel similares a ensamblador: cada instrucción se evalúa según el contador de instrucciones del processor, y el processor recorre su programa cada tick de acuerdo con su velocidad/reloj.
Los Processors pueden interactuar con el mundo: leen sensores, leen/escriben bloques de memoria, controlan estados de bloques, imprimen mensajes y saltan condicionalmente. Hay modos de edición visual y de texto; el editor visual es amigable para principiantes y soporta uso móvil y la importación/exportación desde el portapapeles.
Categorías comunes de instrucciones
- Sensores: leen propiedades de bloques y etiquetas especiales como @enabled de switches y otros bloques. Ejemplo de uso: sensor active switch1 @enabled asigna el estado enabled del switch a una variable llamada active.
- Control: cambia el estado de un bloque. Ejemplo: control enabled conveyor1 1 ... activa un conveyor; control enabled conveyor1 0 ... lo desactiva.
- Salto y comparaciones: control de flujo condicional. Usa jump
para saltar cuando una comparación entre a y b coincida. La lista de comparaciones incluye operadores como strictEqual y always; always siempre devuelve true y fuerza el salto. - Lectura/escritura de memoria: read var = cell at index lee valores numéricos de MemoryCell o MemoryBank hacia una variable. MemoryCell soporta acceso indexado (las celdas empiezan en índice cero).
- Imprimir y mostrar: print almacena texto para ser mostrado; printflush target imprime el texto almacenado en un
Mensaje block o en una pantalla lógica.
- getlink/acceso a content: los Processors pueden recuperar el edificio específico enlazado (por ejemplo, una instancia concreta de sorter) y tratarlo como content del building para control o lectura dirigida.
Patrones de ejemplo
Alternar un conveyor con un switch:
- sensor active switch1 @enabled
- jump 4 strictEqual active true
- control enabled conveyor1 0 0 0 0
- end
- control enabled conveyor1 1 0 0 0 Esto lee el switch, salta para activar o desactivar el conveyor, y hace un bucle indefinidamente.
Escribir un mensaje en un
Mensaje block:
Leer contenidos de una celda de memoria: read value = cell1 at 2 Esto coloca el valor numérico en el índice 2 de cell1 en la variable value (los índices empiezan en 0).
Consejos de interfaz y usabilidad
- Usa el editor visual al comenzar: muestra variables, flujo de saltos y es más fácil en móvil.
- Usa la importación/exportación del portapapeles para copiar scripts entre los editores de escritorio y móvil.
- Nombra claramente los bloques enlazados (router1, conveyor1, switch1, message1) para que la lógica sea legible y reutilizable.
- Recuerda que los Processors ejecutan una instrucción por tick según su contador/reloj; estructura bucles y saltos teniendo en cuenta ese timing.
Matices de interacción con bloques
- Algunos bloques exponen un enlace por instancia "building" (a diferencia de un content/class). getlink recupera la instancia del building enlazado que puede ser inspeccionada o controlada.
- Los bloques pueden exponer comportamiento de tap configurable y si consumen eventos táctiles; los bloques configurables pueden tocarse para abrir la interfaz de configuración.
Este documento describe la capa de controles: la entrada del jugador y el sistema Logic usado para programar y automatizar unidades y bloques. Usa Processors para leer sensores, manipular estados de bloques, manejar mensajes y orquestar comportamientos complejos de fábricas y unidades.