Author Id: 15014 Author Name: Cheve_X Post Content: [spoiler=Notas de la Primer Clase] El_Franco: 9.5 Fíjate que se te pasaron unas tildes (o acentos) Pero aún así muy bien hecho! Nikoplo: 7 Usa un poquito más la imaginación, ¡Los Textos son lo principal de los Juegos! Z4N7Y460: 8 Lo mismo que a nikoplo, ¡usa la imaginación!, aunque está mejor, porque le has puesto colores. Nota: ¡No uses el color Blanco, es más difícil de leer! Big Grin Gershel: 9.5 Bien Hecho! (-0.5, por que recién entraste, y hay que valorar el trabajo de quienes lo entregaron en forma y horario!) [/spoiler] Hola alumnos! Tanto tiempo! Segunda Clase: En la segunda clase, veremos como hacer un mensaje con pregunta de Si o No. Como ya sabemos, para ejecutar este tipo de mensajes, es de la siguiente manera: msgbox 0x[nºde Offset] 0x5 Al escribir un comando de éste tipo, se abrirá una "Ventanita" con las opciones: "Si" "No" o "Yes" "No". Teoría: Al seleccionar si o no, la ROM archiva un valor temporal, (si=0x1 ; no=0x0) el cual se puede utilizar mediante el comando especial "LASTRESULT" (Traducido "Ultimo Resultado"). Para realizar un script de Si/No, tambien necesitamos saber la utilidad del comando "If", el comando "If" (Traducido "si", ejemplo: si 3x4=6 4x3=6) que lo que hace, es chequear si lo que se ha dicho en el anterior comando es verdad o no... ¿difícil de entender? pues es difícil de explicar '^^ Ejemplo del uso del comando "If": comparevar 0x4005 0x1234 if 0x1 goto 0x[offset] checkflag 0x4500 if 0x1 call 0x[Offset] En los Comandos de aquí arriba, siempre me estoy fijando si estos valores dan 0x1, en el primer caso, si ambas variables son iguales, y en el segundo caso, si la flag expresada está activada. Cuando demos Variables, veremos formas mas complejas de usar el comando If, pero, a simple vista de los ejemplos, podemos ver que que luego del "if" eh puesto un "call" y un "goto"... ¿Pues... qué son? call 0x[offset] Nos envía a un determinado script, secundario al que estabamos trabajando, para usarlo de forma dinámica, es igual que un msgbox: goto @offset2 pero, a la hora de hacer nuestro script secundario dinámico, es de la siguinete manera. Ejemplo: ... if 0x1 goto @pointer ... end #org @pointer [Script secundario] return Ah! otro script desconocido! Return: Return, este comando se utiliza como el comando "end" (que finaliza el script) pero, es obviamente distinto y se usa solo en scripts secundarios que derivan de un call. Lo que hace el script al encontrarse con este comando, es seguir el script desde debajo de la linea del call. Goto: es lo mismo que el call, se usa de la misma forma y para lo mismo, la unica diferencia, es que en el script secundario al que nos lleva este comando, termina en End, y por lo tanto, no regresa al script raiz. Teoría terminada... Bueno, os explicaré como encajar todo esto para hacer una pregunta de si o de no. #DYNAMIC 0x800000 #org 0x[Pointer] lock msgbox @smspregunta 0x5 comaprevar LASTRESULT 0x1 if 0x1 call @pointersi msgbox @smsno 0x2 release end #org @pointersi msgbox @smssi 0x2 end [En esta parte irian los textos] Bien! Tarea al paso! [Esto, se llama metodo contructivista, los alumnos deben descubrir qué están haciendo por ellos mismos] Tarea! 1) Razonar, entender y explicar que hace cada línea, completando los espacios punteados: #DYNAMIC 0x800000 #org 0x[Pointer] lock msgbox @smspregunta 0x5 .................. comaprevar LASTRESULT 0x1 Pista dada: Compara si el valor de LASTRESULT es de 0x1 if 0x1 call @pointersi ....................... [Esta es la parte más importante] msgbox @smsno 0x2 release end #org @pointersi msgbox @smssi 0x2 end 2) Agregarle los correspondientes textos al script, y comprovar que esté bien hecho, y así ver si lo que hicieron en el ejercicio 1 está bien hecho.(Quiero ver el video :D ) Tienen hasta el martes 21 Bueno, eso es Todo. Suerte, Salu2! Ah! quienes no entregaron su primer tarea, si no la entregan con la segunda quedan ¡FUERA!