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
Hola mi nombre es Mauricio Andrés
ResponderEliminarEncontre tu antiguo programa de administración de cyber "Uwimbux", debido a que ya no le diste seguimiento tome su codigo fuente y lo estoy usando para crear un nuevo programa basado en el tuyo. (Todo el codigo es tuyo, estoy modificando su interfaz para ser mas intuitiva).
Todo fue bien, hasta que me tope con el problema de crear un .deb.
Gambas no me permite crearlo, marca el siguiente error:
Package.MakeDebPackage.368: File or directory does not exist
Espero me puedas guiar en esto, uso Ubuntu 12.04
Puede ser por un problema con el nombre del archivo que tienes puesto al proyecto o en la ruta, ya que no se adminten espacios por parte de package.makedeb, a ver si es eso...
ResponderEliminarNo tiene espacios, la ruta donde lo quiero crear es:
ResponderEliminar/home/miusuario/documentos/cyber/
No se si existe alguna otra manera de crear el .deb.
Preguntalo en gambas-es.org, a ver si te puede echar una mano el administrador, comenta en el post que hagas, la version de gambas que tienes.
ResponderEliminarNota:
ResponderEliminarEl programa Uwimbux no es mio, lo recopile de otro blog. Su autor es Mako.
Saludos