|
Si eres nuevo en la creación de videojuegosy la programación, a pesar de su sencillez, DarkBASIC Profesional podría parecerte complicado. Para ayudarte a comprender rápidamente este programa deberías tener claros algunos aspectos básicos que explicaremos en este tutorial. Comenta este tutorial en los foros VARIABLES Todos los datos de nuestros juegos se almacenan en las variables, podremos leerlas eliminarlas y manipularlas como deseemos. En ellas podemos almacenar el valor de la vida actual de nuestro personaje, la munición de nuestra arma, la velocidad de movimiento tanto nuestra como de nuestros enemigos... cualquier dato que encontremos de utilidad para nuestro juego, veamos algunos ejemplos: VidaPersonaje=100 BalasRecamara=9 VelocidadPersonaje=3 VelocidadEnemigos=2 En los ejemplos anteriores estamos asignando el valor de la derecha a su variable correspondiente. De tal manera que, por ejemplo, la vida del personaje será 100. Podemos poner cualquier nombre a nuestra variable, pero siempre respetando unas determinadas reglas. No pueden contener espacios ni empezar por un número y sólo pueden contener caracteres alfanuméricos (números y letras). Veamos algunos ejemplos. VidaPersonaje Nombre de variable válido Vida Personaje Nombre de variable no válido TipoEnemigo1 Nombre de variable válido 1TipoEnemigo Nombre de variable no válido Como hemos dicha anteriormente las variables pueden ser modificadas por lo que cada vez que nuestro personaje reciba un impacto podríamos restarle 10 puntos de vida. VidaPersonaje=Vidapersonaje-10 La expresión anterior viene a significar que la vida de nuestro personaje es igual a la vida de nuestro personaje menos 10. Dicho de otra manera: VidaPersonaje=100-10 por lo tanto ahora Vida de personaje será 90 (100-10) Además existen distintos tipos de variables, cada una preparada para contener un tipo de datos. Podemos almacenar datos enteros (123), reales (1,23) o cadenas(hola) Datos enteros Cualquier número sin decimales, por ejemplo 10 o 1234 Ejemplos en la vida real: Número de unidades de un determinado producto Datos reales Cualquier número decimal, por ejemplo 1,23 o 34,56 Ejemplos en la vida real: Precio en euros de un producto Se especifica con el símbolo # Datos de cadena Cualquier palabra o conjunto de palabras que contengan cualquier tipo de datos alfanumérico o no, por ejemplo “hola” o "que tal estás?” Ejemplos en la vida real: Tu propio nombre Se especifica con el símbolo $ Que pasaría si el valor CoordenadaEnemigoX lo asignáramos sin especificar un número real? En ese caso DarkBASIC truncaría el número y almacenara solo la parte entera “12” y no “12,234” esto provocaría que nuestro personaje no se desplazara correctamente. De ahí la importancia de aprender a almacenar correctamente los datos. Otro ejemplo sería el siguiente: Valor1=10 Valor2=20 valor1 + valor2 sería igual a 30 Valor1$=10 Valor2$=20 Valor1$ + Valor2$ sería igual a 1020 Como ves para realizar operaciones matemáticas es necesario asignar correctamente los valores númericos en una variable adecuada. Las operaciones con cadenas por el contrario son adecuadas para el trabajo con palabras o frases ya que permiten una adecuada manipulación de las mismas al permitirno, por ejemplo, indicar espacios en blanco: Valor1$="Hola" Valor2$="Pedro" Valor1$ + " " + Valor2$ sería igual a "Hola Pedro" CONDICIONES Las condiciones son fundamentales en los videojuegos, nos permiten especificar que pasa cuando se cumple una determinada condición en nuestro juego. Las condiciones e toman principalmente con la sentencia IF. IF ... THEN ... O también, cuando es más de una línea: IF ... ... ENDIF Es muy importante recordar cerrar cada sentencia IF con su correspondiente ENDIF si su estructura es como el segundo ejemplo o provocaremos un error de anidamiento. Veamos algunos ejemplos de uso de sentencias IF: if VidaPersonaje<=0 THEN PRINT ”Estás muerto!” Lo que le decimos a DarkBASIC en la línea anterior es: Si el valor de la variable “VidaPersonaje” es menor o igual a cero entonces imprime “Estás Muerto!” IF RIGHTKEY()=1 THEN CoordenadaPersonajeX =CoordenadaPersonajeX+1 Lo que le decimos a DarkBASIC en la línea anterior es: Si se pulsa la tecla derecha entonces el valor de la variable CoordenadaPersonajeX es igual al valor de la variable CoordenadaPersonajeX más uno. Los ejemplos anteriores también podrían haber sido escritos de la siguiente manera: IF VidaPersonaje<=0 PRINT ”Estás muerto!” ENDIF IF RIGHTKEY =1 CoordenadaPersonajeX =CoordenadaPersonajeX+1 ENDIF BUCLES Los bucles son otro de los elementos fundamentales de cualquier programa. Todo el juego transcurre dentro de, al menos, uno de ellos y lo llamamos bucle principal. Los bucles son comandos que especifican que todo su contenido debe ejecutarse una y otra vez de manera indefinida o hasta que se cumpla una determinada condición. Existen más maneras de crear bucles pero aquí vamos a centrarnos en dos básicos que nos valdrán perfectamente para empezar veamos algunos ejemplos: DO Todo lo que escribamos aquí dentro se ejecutará de manera indefinida Ejemplo: bucle principal de nuestro juego LOOP REPEAT Todo lo que escribamos aquí dentro se ejecutará hasta que se cumpla la condición: la variable vida de personaje sea igual o menor a cero Ejemplo: controlaremos a nuestro personaje mientras este no pierda toda su vida UNTILVidaPersonaje<=0 Gracias a ellos podremos mantener funcionando nuestro juego y realizar tareas repetitivas con la máxima facilidad. ESTRUCTURA DE UN JUEGO Ahora que conocemos los aspectos básicos de la programación de un videojuego podremos ver cual es la estructura típica de cualquier programa Declaración de variables VidaPersonaje=100 BalasRecamara=9 VelocidadPersonaje=3 VelocidadEnemigos=2 Bucle principal DO ... comandos ... LOOP Podrás ver un ejemplo de esta estructura funcionado en los tutoriales básicos 1 y 2 además de poder empezar a divertirte jugando con el código y comenzando a crear tu propio videojuego!.
|