Difference between revisions of "Programming/es"

From Space Engineers Wiki
Jump to: navigation, search
(Compilando)
 
(2 intermediate revisions by the same user not shown)
Line 7: Line 7:
  
 
=== Metodo principal ===
 
=== Metodo principal ===
When the editor is opened for first time, void Main() method is present inside the code editor.
+
Cuando el editor es abierto por primera vez, el metodo '''void Main()''' estará dentro del editor de codigo.
This is entry point that will be called when executing script. If Main method is removed / renamed, the script will not run and you will be notified in the programmable block details area.
+
Este método será llamado cuando se ejecute el script. Si el metodo '''Main''' es borrado o renombrado, el script no se ejecutará y se notificara en el área de detalles del bloque programado
Custom methods/variables can be defined and used, but only the Main method will be called without reference.
+
Métodos y variables pueden ser definidos y usados, pero solo el método '''Main''', será ejecutado sin parametros
  
 
=== Vida de las variables ===
 
=== Vida de las variables ===
 
Existen dos tipos de variables al programar:
 
Existen dos tipos de variables al programar:
  
Locales (Adentro de los métodos) - Estas variables se mantienen solo durante la ejecución del método, las variables se "perderán" una vez que el método termine.
+
Locales (Dentro de los métodos) - Estas variables se mantienen solo durante la ejecución del método, las variables se "perderán" una vez que el método termine.
Globales (Afuera de los métodos) - Estas variables se mantienen durante el tiempo de vida del código, por ejemplo: Las variables globales se mantendría entre diferentes ejecuciones del código, pero al presionar "Recordar & Salir", todas las variables globales se reescribirán por los del codigo. Esto es debido que las variables son únicas y estas se rehacen entre cada compilación o guardado de la partida.  
+
Globales (Fuera de los métodos) - Estas variables se mantienen durante el tiempo de vida del código, por ejemplo: Las variables globales se mantendría entre diferentes ejecuciones del código, pero al presionar "Recordar & Salir", todas las variables globales se reescribirán por los del código. Esto es debido que las variables son únicas y estas se rehacen entre cada compilación o guardado de la partida.
  
 
=== Compilando ===
 
=== Compilando ===
Cuando el boton "Revisar codigo" es precionado, el codigo sera compilado y los resultados se mostraran.
+
Cuando el botón "Revisar código" es presionado, el código sera compilado y se mostraran los resultados.
 
Estos son los pasos en el proceso de compilacion:
 
Estos son los pasos en el proceso de compilacion:
Primero el codigo adentro del editor es compilado por C# para revisar los errores del lenguaje.
+
Primero el codigo dentro del editor es compilado por C# para revisar los errores del lenguaje.
Si hay algún error durante la compilacion el siguiente dialogo sera mostrado:  
+
Si hay algún error durante la compilación el siguiente dialogo sera mostrado:  
 
It this case “aaa” string is placed before Main method. This is the wrong language construction and the compilation failed.
 
It this case “aaa” string is placed before Main method. This is the wrong language construction and the compilation failed.
 
En el dialogo de error, sera mostrado el numero de la linea y descripción de el error.
 
En el dialogo de error, sera mostrado el numero de la linea y descripción de el error.
Despues de compilar, es revisado el uso de "espacios de nombres" y tipos. En el caso que esto falle, se mostrara el siguiente dialogo:
+
Después de compilar, es revisado el uso de "espacios de nombres" y tipos. En el caso que esto falle, se mostrara el siguiente dialogo:
 
In this case System.IO.Directory was used to delete some directory. This is forbidden and error is shown that “Not allowed type was used in script”.
 
In this case System.IO.Directory was used to delete some directory. This is forbidden and error is shown that “Not allowed type was used in script”.
 
Si se supera la compilación y la revisión, se mostrara un dialogo confirmando que el codigo esta guardado.
 
Si se supera la compilación y la revisión, se mostrara un dialogo confirmando que el codigo esta guardado.

Latest revision as of 09:33, 27 February 2018

Introducción

Acceso al editor

Solo un jugador puede editar el mismo codigo a la vez. Si alguien intenta usar el editor de un bloque o intenta abrir el codigo en uso, se le notificara que el editor esta en uso.

Metodo principal

Cuando el editor es abierto por primera vez, el metodo void Main() estará dentro del editor de codigo. Este método será llamado cuando se ejecute el script. Si el metodo Main es borrado o renombrado, el script no se ejecutará y se notificara en el área de detalles del bloque programado Métodos y variables pueden ser definidos y usados, pero solo el método Main, será ejecutado sin parametros

Vida de las variables

Existen dos tipos de variables al programar:

Locales (Dentro de los métodos) - Estas variables se mantienen solo durante la ejecución del método, las variables se "perderán" una vez que el método termine. Globales (Fuera de los métodos) - Estas variables se mantienen durante el tiempo de vida del código, por ejemplo: Las variables globales se mantendría entre diferentes ejecuciones del código, pero al presionar "Recordar & Salir", todas las variables globales se reescribirán por los del código. Esto es debido que las variables son únicas y estas se rehacen entre cada compilación o guardado de la partida.

Compilando

Cuando el botón "Revisar código" es presionado, el código sera compilado y se mostraran los resultados. Estos son los pasos en el proceso de compilacion: Primero el codigo dentro del editor es compilado por C# para revisar los errores del lenguaje. Si hay algún error durante la compilación el siguiente dialogo sera mostrado: It this case “aaa” string is placed before Main method. This is the wrong language construction and the compilation failed. En el dialogo de error, sera mostrado el numero de la linea y descripción de el error. Después de compilar, es revisado el uso de "espacios de nombres" y tipos. En el caso que esto falle, se mostrara el siguiente dialogo: In this case System.IO.Directory was used to delete some directory. This is forbidden and error is shown that “Not allowed type was used in script”. Si se supera la compilación y la revisión, se mostrara un dialogo confirmando que el codigo esta guardado.

Ejecución de código

Cuando el boton "Run" es presionado o "Run" es asignado a una acción del terminal, el codigo es ejecutado. Actualmente "Run" debe ser llamado manualmente

Contador de instrucciones

Cada vez que un código es ejecutado, cada instrucciones contada. Si el codigo ejecuta mas instrucciones que el limite, la ejecucion se detendra y sera notificado al usuario que el codigo es muy complejo para ejecutar. Esto previene que el código "Congele" el juego.

Interfaces disponibles

Posibles acciones

Actualmente solo las acciones del terminal "dispararan" el código interno. El usuario puede acceder al sistema del terminal desde una malla activa a cualquier bloque programable y "disparar" la accion del terminal.

Clases de Bloques (Lista de acciones)

Misma clase de bloque para diferente Sub-tipo de ID

Los mismos bloques tienen el mismo pariente (Por ejemplo: <TypeId> en cubeblock.sbc) y difieren solo en el sub-tipo (Por ejemplo: <SubtypeId>). Esto significa que no hay diferencias entre los bloques en el codigo.
Por ejemplo los bloques de un contenedor de carga: hay 3 tipos de contenedores de carga: pequeño, medio y grande. Estos tres tipos solo se diferencias por el sub-tipo y tipo, y es lo mismo que EJ: El contenedor grande tiene una ID como lo siguiente:
<Id>
<TypeId>CargoContainer</TypeId>
<SubtypeId>LargeBlockLargeContainer</SubtypeId>
</Id>
Medium is:
<Id>
<TypeId>CargoContainer</TypeId>
<SubtypeId>SmallBlockMediumContainer</SubtypeId>
</Id>
And small is:
<Id>
<TypeId>CargoContainer</TypeId>
<SubtypeId>LargeBlockSmallContainer</SubtypeId>
</Id>

En este caso es solo una clase de IMyCargoContainer para todos los typos de contenedores de carga

Lista Blanca

Los tipos y clases permitidas en los codigos son limitados. Buscar en Scripting Whitelist para ver cuales tienes permitido usar.

Categoría:Mecánicas