Gambas:
Programando Tu Primer Un videojuego
"Salir de la Mansión"
Muchos de los que empezaron con la programación era por el interés que les desperto los videojuegos, y la idea de hacer sus propios juegos.
Os recomiendo su lectura para los que os querrais iniciaros o simplemente, tengais curiosidad en como se hacen los videojuegos.
El primer ejemplo del libro lo he pasado a Gambas 3.1.1, ya que los ejemplos del libro estan en C, no os desanimeis por ello, ya que no resulta complicado entender los ejemplos del libro, porque el autor los comenta muy detalladamente.
Os podeis descargar el código fuente en Gambas, de mi versión, en este enlace: EnlaceEjecutable en Gambas
Se trata de un juego tipo texto, donde tienes que moverte por las habitaciones de una mansión cogiendo objetos y usandolos, escribiendo las ordenes en un textbox.
He añadido una mejora, para que las habitaciones y objetos se coloquen aleatoriamente cada vez que jugamos. (haciendo que el juego nunca se repita :) )
Para ello, genero una lista que contiene un entero que indica el indice del array que va a contener cada habitación , y la desordeno aleatoriamente, obteniendo una disposicion siempre diferente ya que la llamo cada vez que se inicia el juego:
Public
Function
GeneraOrdenHabitaciones()
As
String[] Dim lista As New Integer[] Dim a As Integer Dim obtener1 As Integer Dim obtener2 As Integer Dim temporal As Integer 'creo la lista For a = 0 To 9 lista.Add(a) Next 'barajo la lista For a = 1 To 50 'barajo 50 veces 'obtengo nuevas posiciones... obtener1 = Int(Rnd(1, 10)) obtener2 = obtener1 'hacemos esto para que el bucle se ejecute por lo menos una vez While (obtener1 = obtener2) obtener2 = Int(Rnd(1, 10)) Wend 'intercambiar temporal = lista[obtener1] lista[obtener1] = lista[obtener2] lista[obtener2] = temporal Next Print "Lista obtenida de habitaciones: " For a = 1 To 9 Print lista[a]; " "; Next Return lista End |
Esta funcion, devuelve una lista, que usare como el indice del array de habitaciones.
Todo el programa sigue el paradigma de programación estructural, son sus limitaciones y complicaciones para posteriores ampliaciones (algo muy tipico en los juegos..).
En una próxima entrega, realizaré este mismo juego basandome en el paradigma de Programación Orientada en Objetos, donde os mostraré que beneficios trae a la hora de programar y podreis aprecias las diferencias y beneficios (por ejemplo, sera muy facil añadir más objetos, ordenes, etc) al juego.
Espero que os guste y os resulte útil. Saludos
Todo el programa sigue el paradigma de programación estructural, son sus limitaciones y complicaciones para posteriores ampliaciones (algo muy tipico en los juegos..).
En una próxima entrega, realizaré este mismo juego basandome en el paradigma de Programación Orientada en Objetos, donde os mostraré que beneficios trae a la hora de programar y podreis aprecias las diferencias y beneficios (por ejemplo, sera muy facil añadir más objetos, ordenes, etc) al juego.
Espero que os guste y os resulte útil. Saludos