Paso 6: Comprender el código: programa mecánica y Spotcheck
: ScreenLoop
CLS
llamar al screen.bat
shove set = y
Rem start move.vbs
Set/p empujar =
Si % empujar % == () w
sistema empujar % = de ancho
Goto movimiento
)
Si % empujar % == () s
shove Set = + % ancho
Goto movimiento
)
Si % empujar % == d)
shove Set = + 1
Goto movimiento
)
Si % empujar % == un)
sistema empujar =-1
Goto movimiento
)
Goto ScreenLoop
: Mover
Set/a spotcheck = lugar % Condition % shove
Comprobador de ajuste = %% v % spotcheck %%%
eco sistema spotcheck = checker % > spotcheck.bat
llamar al spotcheck.bat
Si spotcheck % == % barrera % goto ScreenLoop
lugar de set v % = % que %
conjunto/un lugar = lugar % Condition % shove
lugar de set v % = % de marcador
Rem si % % == % símbolo % fijado detrás = símbolo de %
Set = detrás spotcheck %
Goto ScreenLoop
Otra vez, hay dos secciones, la sección de ScreenLoop y movimiento.
ScreenLoop es bastante sencillo. Cada vez que se ejecuta, se borra la pantalla y refresca la imagen creada por los píxeles, mostrando los cambios en las variables. El lazo entonces señala un nueva variable, shove %, para la entrada. las teclas 'w', de ', 'a', y había ' se utiliza como las teclas de flecha y determinar qué sección del código el programa va a.
Los cuatro pedazos de código que une ScreenLoop a se utilizan para definir las variables que utiliza el sistema para determinar qué variable para comprobar el contenido de para cambiar la posición del cursor % % espacio y cambiar el símbolo en los píxeles y el píxel que se trasladaron a quedarse. Se restablece la variable % shove % para contener la porción de código que se utilizará para cambiar la variable de % de % de lugar en la sección de paso del código. Se convierte en +-1 si el cursor se mueve a izquierda o derecha y +-% de ancho (+-40 para nuestra pantalla de 40 x 20), si el cursor se mueve hacia arriba o hacia abajo.
La sección del movimiento es el bit de código que permite al programa reaccionar a los contenidos de las variables, y aquí es donde la ley % % números de los píxeles en juego con los símbolos, así como la parte del código que hace uso del tercer archivo, spotcheck.bat.
Movimiento también cuenta con dos secciones. La primera es el script que comprueba el valor del píxel que está tratando de pasar el cursor.
: Mover
Set/a spotcheck = lugar % Condition % shove
Comprobador de ajuste = %% v % spotcheck %%%
eco sistema spotcheck = checker % > spotcheck.bat
llamar al spotcheck.bat
Si spotcheck % == % barrera % goto ScreenLoop
Hay varios pasos en este proceso. En primer lugar, el programa establece spotcheck % % teniendo lugar %, el número de % de % ley del píxel que contiene el cursor y agrega o resta ancho % o 1, basado en los valores establecidos para shove % desde el comando introducido, para designar el número de % de % ley del píxel está tratando de pasar el cursor. Por ejemplo, si estamos en v343 y pasar a v344, el programa toma lugar %, que es el 343, y añadir 1 (ya que nos estamos moviendo a la derecha) para obtener un número de % de ley % de 344, que señala en los pixel v344.
Ahora que el programa sepa el número de píxeles para comprobar, tiene que comprobar el valor de pixel v344. Esta es una tarea difícil técnicamente porque necesitamos saber el valor de pixel v344, que es un lote variable v344%, pero el ordenador sólo sabe el número de píxeles a través de spotcheck % pero necesita el nombre completo v344%. Este es un problema porque el programa debe comprobar el contenido de una variable que es designado por una variable, y terminaría con
Si %v % spotcheck %% == símbolo %
spotcheck % siendo la ley % % número de píxeles que estamos comprobando. La computadora no puede hacer sentido de esto, así que tenemos que hacer un poco de alquimia en el código. Lo hacemos con un segundo corrector variable, %:
Comprobador de ajuste = %% v % spotcheck %%%
Esta línea establece checker % igual que el texto "%v #%," donde "#" es el valor de % de % ley del pixel en que nos estamos moviendo. Si todavía queremos de v343 v344, entonces inspector % contendrá el texto "v344%," que no es un valor que puede utilizar el programa en la actualidad, pero que es un pedazo de código que el ordenador reconoce: la variable % v344% es el píxel cuyo valor el programa necesita identificar. Ahora solo necesitamos poner este pedazo de script en una línea de código que puede utilizar el ordenador para comprobar contenido del píxel.
Aquí es donde spotcheck.bat:
eco sistema spotcheck = checker % > spotcheck.bat
llamar al spotcheck.bat
Estas líneas de exportación el texto "sistema spotcheck = % checker" para spotcheck.bat. Recuerde, checker % ahora contiene el texto "v344%," por lo que la línea de texto que se exporta al nuevo archivo .bat Lee
sistema spotcheck = v344%
que es una línea útil de CMD. Después de exportar esta línea de texto, el programa de llama spotcheck.bat y esa línea de secuencia de comandos ejecuta, y de repente spotcheck % contiene el mismo símbolo como el v344 pixel, se puede probar con un if y entonces el código.
Usted puede programar esto para comprobar cualquier símbolo que desee y crea cualquier valor que desee; en el juego, si el monstruo se mueve sobre un píxel que contiene una mina, pierde una vida. Hay sólo una cosa que esta secuencia de comandos comprueba intrínsecamente, sin embargo, y es una barrera:
Si spotcheck % == % barrera % goto ScreenLoop
Si pixel v344 contienen una barrera, el programa no mueve el cursor pero vuelve a ScreenLoop para recibir otro comando.
Si no hay ningún obstáculo al movimiento, a continuación, el programa ejecuta las líneas siguientes, la segunda mitad del movimiento, para mover el cursor en el nuevo píxel:
lugar de set v % = % vacíos %
conjunto/un lugar = % sitio % % compasssymbol %% compassamount %
lugar de set v % = % de marcador
Rem si % % == % símbolo % fijado detrás = símbolo de %
Set = detrás spotcheck %
Goto ScreenLoop
La primera línea restablece el símbolo de los píxeles en que están. Lo hace por ajuste v lugar %, la corriente variable de píxeles, igual a % %, lo cual era el contenido de ese píxel antes de que se movió sobre él (cuando comienza el programa % que % es igual a % de espacio o cualquier otro símbolo que desea existe en el pixel inicial). Ahora la próxima vez ScreenLoop pistas y actualizaciones de la pantalla, píxeles que mostrará el contenido que antes estaba en lugar el símbolo del cursor.
Luego viene el movimiento real. El programa toma lugar %, la variable que contiene el número del píxel señalado como el cursor, y agrega o resta 1 o % % de ancho basado en el valor de % cantidad %. Ahora lugar % es el número de un píxel arriba, abajo, derecha o izquierda de la que acaba de dejar. lugar % era igual a 343; ahora es igual a 344. El cursor tiene una nueva ubicación.
El último paso es hacer este nuevo pixel mostrar el símbolo del cursor. Esto es simple:
lugar de set v % = % de marcador
Ahora el pixel v # o v344 en nuestro ejemplo, contiene el símbolo para el cursor y lo mostrará cuando se hizo eco en la pantalla.
Una cosa final que debe hecha: necesitamos un nuevo % % valor para que este nuevo pixel puede reiniciar cuando nos movemos fuera de él. Para ello, sólo ponemos % % igual a spotcheck %, que todavía se encuentra en el símbolo del píxel antes de que pasamos sobre él. Decir pixel v344 era igual a la letra 'F': cuando el programa comprueba el contenido de v344 para ver si se podía mover allí fijó spotcheck % igual a F para ejecutar if/then declaraciones y ahora % que % se fijó igual a f el. Ahora, cuando salimos de v344 píxel establecerá para mostrar el símbolo demostró antes de que pasamos sobre él. También hay una línea de código que le permitiría cambiar el pixel como lo dejas. Quitar "rem" de la línea y el script reiniciará el pixel a un símbolo nuevo basado en un if/declaración de entonces (si pixel era F, deje como G). También esto podría enlazar a un comando en ScreenLoop:
Si % empujar % == % comando % fijado detrás = símbolo de %
Una vez % %, el movimiento es completo y se repite el ScreenLoop.