Dedicado a mis proyectos en Gambas ,un lenguaje de programación parecido al Visual Basic + Java pero ampliamente mejorado y...¡¡para gnu/linux!!.La potencia del gnu/linux sumada a la facilidad del Basic



Consultas, Desarrollo de programas y petición de presupuestos:



domingo, 7 de septiembre de 2014

1945: El Juego


1945: El Juego



Una de las cosas que siempre me han gustado es poder realizar juegos (aunque fueran simples) hechos por mi mismo... Bueno, pues buscando por intenet encontré este libro:  "Programación de Juegos para móviles con J2ME" de Alberto García Serrano , que aunque explica como hacer juegos para Java, es perfectamente adaptable a Gambas3.


1945: Versión realizada en Gambas3


Nuestro avión  se controla con las teclas del cursor, y el juego lleva incluido:
 - Movimiento del avión y de los enemigos (distintos tipos de enemigos)
 - Scrolling del mapa de fondo.
 - Disparos y explosiones
 - Inteligencia artificial:  Mediante una máquina de estado se controlan los aviones enemigos.
 - Cálculo de Colisiones (entre enemigos y nuestro avión, entre nuestras bombas y los enemigos y entre las bombas de los enemigos con nuestro avión)

Vemos un poco del código:
El esquema del proyecto es el siguiente:
Como veis tenemos la clase Sprite, que es padre de varias clases. Es la clase encargada de manejar las imágenes (los sprites o tiled). Luego tenemos varias que heredan de ella, que se encargan de especificar en concreto como se mueven o la tipo de avión (en el caso de los enemigos que tenemos varios tipos de movimientos)

El "game loop", el corazón del juego, se realiza mediante un objeto Timer, que actualiza la posición de los objetos (aviones, disparos, explosiones, cálculo de colisiones)
-

-

y luego llama al evento _draw del DrawingArea, para que se redibuje todo:
-

-

Descarga el código fuente el instalador y libro en: alojado en https://drive.google.com


Espero que os guste.

Saludos

Julio




jueves, 4 de septiembre de 2014

Listar la tablas y vistas que tiene una base de datos sqlite

Listar la tablas y vistas que tiene una base de datos sqlite


Ampliando un programa, me he encontrado el siguiente problema: necesitaba añadir algunas nuevas tabla a una a la base de datos sqlite que tenía creada (y ya con datos).

Pues se me ha ocurrido hacerlo así:
1) Ver que las tablas existentes
2) Si falta la tabla nueva, la creo con una sentencia sql

El paso 1º es necesario para comprobar  si ya hemos hecho una vez el proceso, y no volver a repetir el paso 2º (crear la tabla nueva)

Pero ¿como veo las tablas que tiene la base de dato?

Con la sentencia:

SELECT * FROM sqlite_master where type="table"

Obtenemos la información de las tablas existentes.



El campo "name" indica el nombre, con lo cual ya puedo comprobar si existe la table, y en caso de no existir, crearla con la sentencia sql.

Para listar las vistas (view) la sentencia sería:

SELECT * FROM sqlite_master where type="view"


Nota: 01/10/2017

Ejemplo de como se haria en gambas:
' gambas class file
Public conexion As Connection

Public Sub Button1_Click()
           Dim r As Result
 Dialog.Path = User.Home
       If Dialog.OpenFile() Then Return
  
      ListBox1.Clear()
      conexion = New Connection
      conexion.Type = "sqlite3"
      conexion.Host = File.Dir(Dialog.Path)
      conexion.Name = File.Name(Dialog.Path)
      conexion.Open()

      r = conexion.Exec("select * from sqlite_master where type='view'")

      If r.Available Then    
          Do While r.Available
             ListBox1.Add(r!name)
             r.MoveNext
          Loop
      Endif
     
     conexion.Close()

  End

Fuentes:
http://www.ajpdsoft.com/modules.php?name=Foros&file=viewtopic&t=1641
http://stackoverflow.com/questions/1601151/how-do-i-check-in-sqlite-whether-a-table-exists

El foro de Gambas-es.org se estrena en Google+

El foro de Gambas-es.org se estrena en Google+

Con la idea de promover este lenguaje visual para Linux, se ha creado una cuenta en google+ , y se entrena con un interesante evento:  La retransmisión en directo del proceso de selección del ganador en el sorteo de una Raspberry Pi entre los que han participado en las donaciones de gambas-es.org ( http://www.kapipal.com/gambas )

Será el próximo domingo 7 de septiembre, 12.00 horas CEST


En la siguiente dirección podéis uniros como seguidores: