Saltar al contenido
Bits antidisturbios

Bits antidisturbios

  • Hogar
  • Noticias
  • Guías
  • Videoguías
  • Notas del parche
  • Reportar abuso
  • Alternar formulario de búsqueda

Guía de programación de ingenieros espaciales para principiantes

Publicado el 08/20/2022 Por 33IROBOT33 No hay comentarios en Guía de programación de ingenieros espaciales para principiantes
  • Título: Ingenieros espaciales
  • Fecha de lanzamiento: Febrero 28, 2019
  • Revelador: Casa de software aguda
  • Editor: Casa de software aguda

Esta guía está dirigida a personas que nunca o apenas estaban en contacto con la codificación.. Le ayudará a escribir sus primeros scripts simples en ingenieros espaciales.. Si busca una guía avanzada, lo recomiendo Éste de malware.

Descargo de responsabilidad

El inglés no es mi primer idioma, así que no espere una obra maestra lingüística. Además, nunca aprendí codificación/programación y construí mi conocimiento a través de Google Research y molestar amigos con preguntas estúpidas sobre la codificación en C#. Por lo tanto, esta guía puede contener términos incorrectos o errores menores. Pero estoy seguro de que esta guía permitirá a cualquier persona sin ningún conocimiento sobre las secuencias de comandos para crear scripts simples para ingenieros espaciales..

Ejemplo de guión

Creo que la mejor manera de aprender secuencias de comandos en ingenieros espaciales es a través de ejemplos. Haremos que un rotor se mueva a cierto punto en este primero.

Al principio tenemos que decirle al juego qué bloque queremos admitir. Guardaremos el bloque en una variable para que el script sea más legible. Por lo tanto, creemos una variable para nuestro rotor:

Rotor mymotorstator;

Cada variable necesita un tipo («Mymotorstator») y un nombre («Rotor»). El tipo dice qué valor podemos guardar en la variable. Este valor podría ser un número o solo texto, pero en nuestro caso es un bloque de rotor. El tipo de esto es «Mymotorstator». Simplemente podemos elegir cualquier nombre, pero se recomienda tomar uno que haga que el script sea fácil de leer y comprender, especialmente cuando se vuelve más complejo.

Cada línea de código (como una oración) Necesita un punto y coma «;» Al final. Esto es fácil de olvidar, pero solo un semicolón que falta hace que el script completo no funcione según lo previsto..

Ahora le daremos a la variable su valor: El bloque del rotor. En nuestro caso, solo decimos que el bloque de rotor se llama ‘Super Mega Station Rotor’

Rotor = imyterMinalGrid.getBlockWithName(«Rotor de súper mega estación») Como imymotorstator;

El tipo solo se menciona la primera vez que creamos una variable. Para darle a una variable un valor, simplemente usamos el «=» símbolo.

Esta parte es el método para adherir el bloque en nuestra cuadrícula.. Simplemente escribimos el nombre exacto del bloque entre los dos «». No te preocupes demasiado por el texto, volveremos a eso más tarde. Al final, volvemos a escribir el tipo para asegurarnos de que el bloque que se asigna a nuestra variable tiene el tipo correcto. Si olvida esto y hay, por ejemplo, un panel LCD llamado «Rotor de súper mega estación» se asignaría a la variable. Esto puede sonar no necesario, pero solo úsalo para tener un script más seguro.

Ahora cada vez que usamos la variable ‘rotor’ En nuestro guión, el juego abarca nuestro bloque de rotor.

Mueva el rotor a cierto punto ahora. Queremos que gire a 45 grados con una velocidad positiva. Entonces tenemos que hacer 2 cosas. El primero es establecer su ángulo máximo en 45 grados. El segundo será darle al rotor su velocidad.

Comencemos con el paso uno:

Rotor.upperLimitdeg = 45f;

Al principio le decimos al juego que queremos usar el bloque de rotor. Entonces escribimos un «.» y agregue la propiedad o método que queremos usar. Esta propiedad necesita un valor para establecer el límite máximo de los rotores al. Entonces escribimos «45». El «F» es el tipo de valor (En este caso un número, Pero volveré a eso más tarde)

Vamos a la configuración de la velocidad. Esto funciona bastante similar solo la propiedad es diferente. Establecemos la velocidad a 1 en este caso.

Rotor.TargetVelocityRPM = 1F;

y eso es todo. Una vez que se ejecuta el guión, El rotor girará con 1 rpm hasta que llegue 45 grados.

Todo el guión se vería así:

Rotor mymotorstator; Rotor = imyterMinalGrid.getBlockWithName(«Rotor de súper mega estación») Como imymotorstator; Rotor.upperLimitdeg = 45f; Rotor.TargetVelocityRPM = 1F;

Lo resumiré:

Al principio guardamos el bloque(s) en una variable para tener un script más legible y un uso más fácil. (También podrías escribirlo así:

Imyterminalgrid.getBlockWithName(«Rotor de súper mega estación «).UpperLimitdeg = 45f;

Pero creo que obviamente es más agradable usar variables en su lugar.

Entonces podemos usar propiedades y métodos para cambiar la configuración de los bloques..

Los conceptos básicos necesarios para codificar en ingenieros espaciales

No te preocupes, No tiene que recordar de inmediato todo lo que se enumere aquí, Agregaré un capítulo con una lista de todo lo que pueda necesitar. Pero en esta parte intentaré explicar estas cosas básicas necesarias para casi todos los guiones..

«//» y «/* */» Marque comentarios en su guión. Estos serán ignorados cuando se ejecuten. Esto significa que puede explicar algo o simplemente dar un titular a su código.. «//» escrito en el frente trabaja para la línea actual y «/* */» encierra el comentario. Comentar ayuda a comprender un guión y no debe subestimarse.

Operadores matemáticos y lógicos

Comencemos con operadores matemáticos y lógicos simples. Esto debería ser un pedazo de pastel

Solo enumeraré los más importantes.

«+»: Suma

«-«: Sustracción

«*»: Multiplicación

«/»: División

«%»: Módulo; Esto devolverá el resto de una división. Ejemplos: (5 / 2 = 2; resto = 1) => 5 % 2 = 1; 7 % 4 = 3;

«==»: Iguales; Esto se usa para comparar valores.

«!=»: No igual; básicamente lo opuesto a «==».

«>», «>=», «<«, «<=»: Mayor/más pequeño que (o igual a); También se usa para comparar valores.

«&&»: Y; Todas las variables conectadas con esto tienen que coincidir en su comparación

«||»: O; Al menos una de las variables conectadas con esto tiene que coincidir en su comparación.

«=»: En los scripts, esto se usa principalmente para asignar valores.

Tipos de variables

Continuemos con tipos de variables:

«bool»: Este tipo de variable solo puede tener uno de estos dos valores: Es tampoco «verdadero» o «FALSO».

«cadena» : Este es solo texto sin formato. Un ejemplo sería guardar texto en una variable para mostrarlo en una pantalla LCD más tarde.

«entero» : Este es un número pero sin ningún lugar decimal. El valor no se redondea; en cambio, todos los lugares decimales serán cortados. A 4.9 guardado como «entero» es 4.

«flotar» : Este también es un número pero tiene decimales.

«doble»: El tercer tipo de número. Es similar a «flotar» Pero el número puede ser mayor. Esto no será tan importante para las secuencias de comandos básicas. Aconsejaría usar flotante a menos que un método requiera doble como entrada. Si asigna un valor de número en su script, generalmente se trata como «doble». Ser tratado como «flotar» Tienes que escribir un «F» detrás del número, como «4.9F».

«Imimotorstador»: Esto debería sonar familiar. Es un tipo de bloque de ingenieros espaciales. Hay muchos diferentes y lo ignoraremos por ahora.

Para inicializar (crear) Una variable Simplemente escribimos el tipo y el nombre de la variable y terminamos con un punto y coma:

int a;

Podemos darle un valor después de esto:

a = 1;

También podemos hacer estos dos pasos a la vez:

int b = 1;

Es posible calcular con los tres tipos de números «entero», «flotar» y «doble».

Importante: Guardar un número en un «cadena» Funciona pero no puedes usar operadores matemáticos, ya que se ve como texto. Puedes imaginarlo como calcular con letras.

Operadores lógicos avanzados

Asumiré que no necesito explicar cómo funciona el sistema lógico verdadero/falso básico. Pero si alguien necesita ayuda con eso, Solo escribe un comentario.

Expliquemos el uso de operaciones lógicas más avanzadas.

Función

Comencemos con el «Función». Se compara 2 parámetros y solo ejecuta el código incluido si la comparación es correcta/verdadera. Creo que la forma más fácil de explicarlo es nuevamente a través de ejemplos.

Digamos que tenemos un rotor ya giratorio y cuando está en 30 grados una luz debe encenderse.

Como en nuestro primer script, comenzamos guardando nuestros bloques en variables.

Rotor imymotorstator = GridTerminalSystem.getBlockWithName(«Ejemplo_rotor») Como imymotorstator; IMyinteriorlight Light = GridTerminalSystem.getBlockWithName(«Ejemplo_light») Como IMyinteriorlight;

Comencemos con el «Función».

si (Rotor.angle == 0.5236F)

Esta es la cabeza. El argumento está escrito entre el «()». Esta propiedad necesita que el ángulo esté en radiante. 0.5236 Rad convertido en grados es 30.

{ Light.enabled = True; //Esto enciende la luz, Pero más sobre eso más tarde. }

Este es el cuerpo. Contiene el código entre el «{}». Encierra un área de código que pertenece a la función escrita en frente.

Al principio, esta función verificará si el argumento en el «()» es verdadero y luego ejecuta el código entre el «{}» Si el argumento es correcto. Si no, ignorará el código entre el «{}».

También podemos actualizar’ el «Función» con un «demás». Esto nos permite ejecutar el código en el caso del argumento es incorrecto. Si la declaración en el «Función» es cierto, el «demás» será ignorado.

En este ejemplo, queremos que la luz se apague si el rotor no está en 30 grados.

si (Rotor.angle == 0.5236F) { Light.enabled = True; } demás { Light.enabled = falso; }

Por último, también puedes agregar un «si más». Actuará como un «demás» pero también tiene una condición que debe ser fiel para ejecutar su código. Digamos que queremos tener 4 luces en diferentes colores y queremos que se encienda una luz específica para los cuatro cuartos del ángulo del rotor.

Al principio tenemos que crear variables para nuestras nuevas luces.

IMyinteriorlight LightGreen = GridTerminalSystem.getBlockWithName(«Ejemplo_light_1») Como IMyinteriorlight; IMyinteriorlight LightBlue = GridTerminalSystem.getBlockWithName(«Ejemplo_light_2») Como IMyinteriorlight; IMyinteriorlight Lightyellow = GridTerminalSystem.getBlockWithName(«Ejemplo_light_3») Como IMyinteriorlight; IMyinteriorlight Lightred = GridTerminalSystem.getBlockWithName(«Ejemplo_light_4») Como IMyinteriorlight;

Empecemos a construir nuestro «Función»

si (Rotor. Ángulo >= 0 && Rotor. Ángulo < 1.571)

Esto verifica si el ángulo es 0 o arriba pero también debajo 90 grados (1.571 radiante). Ambas condiciones deben cumplirse para que la declaración sea verdadera. Si lo harías es el «Operador» («||») en lugar de el «Y operador» («&&») Solo una de las condiciones debe ser verdadera para que la declaración sea verdadera.

{ LightGreen.enabled = True; LightBlue.enabled = falso; Lightyellow.enabled = falso; Lightred.enabled = falso; }

La luz verde se enciende, Todas las demás luces se apagan.

Repetiremos esto para los otros cuartos ahora.

de lo contrario si (Rotor. Ángulo < 3.142)

3.142 Rad es igual a 180 grados. No tenemos que verificar si está arriba 90 grados porque esto «si más» solo se verificará si el «si» La condición es falsa y, por lo tanto, el ángulo está arriba 90 grados.

{ Lightgreen.enabled = falso; LightBlue.enabled = True; Lightyellow.enabled = falso; Lightred.enabled = falso; } de lo contrario si (Rotor. Ángulo < 4.712)

4.712 Rad es igual a 270 grados.

{ Lightgreen.enabled = falso; LightBlue.enabled = falso; Lightyellow.enabled = True; Lightred.enabled = falso; } demás { Lightgreen.enabled = falso; LightBlue.enabled = falso; Lightyellow.enabled = falso; Lightred.enabled = True; }

Para el último caso no tenemos que usar un «de lo contrario si» Porque los únicos ángulos que quedan son aquellos que queremos en nuestra condición de todos modos (270-360 grados).

Cambiar

La siguiente función que podemos usar es el «cambiar». Es bastante similar a un «si» y «si más» constelación, pero todas sus condiciones deben basarse en un solo valor de una variable. Además, solo puedes compararlo con un «==». Entonces no funcionaría para nuestro último ejemplo ya que necesitábamos "más pequeños que’ («<«) para nuestras condiciones.

En el siguiente ejemplo, lo cambiamos a que las condiciones son un ángulo exacto y no un área. Así que digamos que queremos 4 casos. 0, 90, 180 y 270 grados. Cada ángulo encenderá una de nuestras luces y todas las demás.

cambiar (Rotor. Ángulo)

Esta es la cabeza. Entre el «()» El valor que queremos verificar está escrito. Esto también puede ser una variable, por supuesto.

{ caso 0:

El ángulo se compara con el «0». Puedes imaginar esto como un «si (Rotor.angle == 0)».

LightGreen.enabled = True; LightBlue.enabled = falso; Lightyellow.enabled = falso; Lightred.enabled = falso; romper;

El descanso hará que el guión salte de todo el interruptor después de que se haya encontrado el caso correcto.. Esto es importante para ahorrar tiempo de ejecución, Dado que no habrá tiempo perdido al verificar todos los demás casos.

caso 1.571: Lightgreen.enabled = falso; LightBlue.enabled = True; Lightyellow.enabled = falso; Lightred.enabled = falso; romper; caso 3.142: Lightgreen.enabled = falso; LightBlue.enabled = falso; Lightyellow.enabled = True; Lightred.enabled = falso; romper; caso 4.712: Lightgreen.enabled = falso; LightBlue.enabled = falso; Lightyellow.enabled = falso; Lightred.enabled = True; romper; por defecto:

esto es opcional. Este caso se usa cuando ningún otro caso coincide con la condición. En nuestro ejemplo, esto se usa cuando el ángulo es intermedio 0, 90, 180 y 270 grados pero no uno de estos números exactos. Podemos apagar todas las luces, por ejemplo,.

Lightgreen.enabled = falso; LightBlue.enabled = falso; Lightyellow.enabled = falso; Lightred.enabled = falso; romper; }

Bucle

El último por ahora es el «para bucle». Se usa para repetir el mismo código para un grupo de variables. Para crear ese grupo de variables necesitamos aprender sobre el «lista». Crea un grupo de objetos que pones en la lista; Por ejemplo, todos los bloques de luz en una cuadrícula. Crear una nueva lista difiere ligeramente de la creación de una variable:

Lista<IMYINIERTRINGLA> Luces = nueva lista<IMYINIERTRINGLA>();

Hemos creado una lista con el nombre «Luces». También la lista necesita un tipo, Entonces esto significa que una lista no puede contener objetos de un tipo diferente. En este caso, nuestro tipo es «IMYINIERTRINGLA». Este es el tipo de bloques de luz en los ingenieros espaciales, pero también puede hacer una lista de números con el tipo «entero».

Ahora llenemos la lista con todos los bloques de luz en nuestra cuadrícula:

GridTerminalSystem.getBloCkGroupWithName(«Super Mega Station Lights»).GetBlocks(Luces);

Esto pone todos los bloques del grupo «Super Mega Station Lights» en la lista mencionada entre el «()» al final.

Para abordar un solo objeto en nuestra lista usamos esta frase: «Luces[0]». Cada objeto de la lista tiene un número al que responde. Esto siempre comienza en «0» para el primer objeto y se cuenta hacia arriba. Si crea una lista con 20 Objetos El primer objeto responderá «0» y el último responderá a «19». El número escrito entre el «[]» aborda el objeto individual. Para encender la tercera luz, la escribiríamos así:

Luces[2].Habilitado = verdadero;

La lista está configurada, Así que procedamos con el «para bucle»:

para (int i = 0; i < Luz.; i ++)

Esta es la cabeza. Entre el «()» tenemos 3 diferentes parámetros separados por un punto y coma. el primero («int i = 0») crea una variable nombrada «i» con un valor de «0». el tercero («i ++») Solo agrega «1» a nuestra variable «i» Cada vez que se ejecuta el bucle. El segundo parámetro («i < Luz.») Define cuándo debe terminar el bucle. Esto significa que el bucle se ejecuta siempre que «i» es más bajo que un valor específico. Si escribas «i < 20» el bucle simplemente se ejecutaría 20 veces. En esta situación usé lights.length, que nos da la cantidad de objetos que la lista «Luces» contiene. Esto básicamente significa el «bucle» se ejecuta con tanta frecuencia como la cantidad de objetos en nuestra lista.

{ Luces.Habilitado = verdadero;}[/código]

Este es el cuerpo del «bucle». Mediante el uso de la variable «i», Comenzamos con el primer objeto («0») En nuestra lista. Desde que agregamos «1» a «i» con cada bucle, También avanzamos a través de nuestra lista de objetos por 1. Así al final del «bucle» Cada luz de la lista se encendió.
Estos operadores lógicos avanzados deberían ayudarlo al crear sus propios scripts.

Propiedades y métodos

Este podría ser uno de los pasos más difíciles para un principiante. Hay una gran cantidad de bloques diferentes en ingenieros espaciales y, por lo tanto, hay muchos tipos de bloques diferentes., Métodos y propiedades. Si desea saber la diferencia entre propiedades y métodos, Tendrías que preguntarle a alguien más, ya que realmente no lo sé, pero eso realmente no importa.

La mejor manera de trabajar con ellos es buscarlo todo en este

[github.com]Mientras estás escribiendo algo. Grandes créditos para el malware que lo creó. Allí puede encontrar todos los tipos de bloques y sus métodos y propiedades. (Básicamente lo que puedes hacer con el bloque). Hay algunas cosas que debe saber para usar estas.

Para usar una propiedad/método, debe escribir su variable de bloque, Luego agregue un «.» y luego escriba su propiedad/método.

Rotor.attach();

La mayoría de las propiedades pueden obtener o establecer un valor (Algunos solo obtienen valores). Decides esto dándole un valor agregando algo como » = valor» O no. Aquí hay dos ejemplos para darle una idea de cómo funciona esto.:

Obtener un valor:

ángulo flotante = rotor.;

Esto guarda el ángulo en nuestra variable «ángulo».

Establecer un valor:

Rotor.RotorLock = True;

Esto habilita el bloqueo del rotor.

En la guía también verá qué tipo de propiedad/método devuelve o necesita como entrada. Esto es muy importante. La propiedad «Rotorlock» necesita un «bool» lo que significa que solo acepta «verdadero» o «FALSO» como en- o salida.

Escribir tu primer guión

Si abres el bloque programable, verás esto:

programa público() { } Guardar el vacío público() { } Vacío público principal(argumento de cadena, UpdateType UpdateSource) { }

Ignoraremos el «Programa» y «Ahorrar» función por ahora. Todo su código se colocará entre los dos «{}» del «Principal» función. Esta es la parte que se ejecuta cuando se usa el script. Si implementa el primer script desde el comienzo de esta guía, se vería así:

programa público() { } Guardar el vacío público() { } Vacío público principal(argumento de cadena, UpdateType UpdateSource) { Rotor mymotorstator; Rotor = imyterMinalGrid.getBlockWithName («Rotor de súper mega estación») Como imymotorstator; Rotor.upperLimitdeg = 45f; Rotor.TargetVelocityRPM = 1F; }

Le aconsejo que escriba sus scripts fuera de los ingenieros espaciales. La mejor manera para mí es usar Visual Studio junto con la extensión de Malware.. Proporciona muchas características que le encantará durante la codificación.. También se encuentra una guía sobre cómo instalarlo y usarlo

[github.com]En la guía de malware.

Hoja de trucos

Operadores matemáticos y lógicos:

«+»

«-»

«*»

«/»

«%»

«==»

«!=»

«>», «>=», «<«, «<=»

«&&»

«||»

«=»

Tipos de valor:

«bool»: verdadero/falso

«cadena»: texto

«entero»: número sin decimales

«flotar»: número con lugares decimales

«doble»: número mayor

«lista»: grupo de objetos

«IMYINIERTRINGLA»: Ejemplo de un tipo de bloque

Operadores lógicos avanzados:

si (verdadero) { } de lo contrario si (verdadero) { } demás { } cambiar (variable) { valor de caso1: romper; valor de caso2: romper; por defecto: romper; } para (int i = 0; i < valor; i ++) { }

Propiedades/métodos:

bloque.(); tipo variable = block.property; block.property = valor;

Eso es todo lo que estamos compartiendo hoy para este Ingenieros espaciales guía. Esta guía fue originalmente creada y escrita por 33IROBOT33. En caso de que no actualicemos esta guía, puede encontrar la última actualización siguiendo este enlace.

Si cree que alguno de los contenidos de este sitio viola sus derechos, incluyendo sus derechos de propiedad intelectual, por favor contáctenos inmediatamente usando nuestro formulario de contacto.
Guías Etiquetas:Ingenieros espaciales

Navegación de entradas

Publicación anterior: Cómo arreglar la caída de timesia fps, Retraso, y problemas de tartamudeo
Publicación siguiente: Supervivientes de vampiros – Cómo desbloquear todos los elementos de la colección y el personaje Sigma

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  • Título: Ingenieros espaciales
  • Fecha de lanzamiento: Febrero 28, 2019
  • Revelador: Casa de software aguda
  • Editor: Casa de software aguda

Descargo de responsabilidad

Todo el contenido citado se deriva de sus respectivas fuentes.. Si cree que hemos utilizado su contenido sin permiso, asegúrese de comunicarse con nosotros y lo tomaremos en serio.
  • Sobre nosotros
  • Contáctenos
  • política de privacidad
  • Términos de servicio

Derechos de autor © 2025 Bits antidisturbios.

Funciona con Tema PressBook Noticias para WordPress