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:



viernes, 23 de enero de 2015

PintaScreen versión 0.0.58: Traducido al Portugués

PintaScreen versión 0.0.58:

Traducido al Portugués



Gracias a Portano, del foro de gambas-es.org, ya tenemos traducido el programa PintaScreen al Portugués.


PintaScreen: Programa para añadir efectos a las capturas de pantallas
Flechas, texto, imagenes, marcadores, numeradores, etc.....

Enlace de descarga de la nueva versión: alojado en drive google (tanto el instalador .deb, como el código fuente en gambas3.5.4)

Nota:
Si ya tenéis instalado PintaScreen, acordaos que tiene la opción de buscar actualizaciones en el menu de Herramientas:

Búsqueda de actualizaciones














Juegos de mesa en el ordenador: El programa Vassal


Juegos de mesa en el ordenador: El programa Vassal


¿que es Vassal? Vassal es un motor de juego para construir y jugar en línea adaptaciones de juegos de mesa y juegos de cartas. Juega en directo por Internet o por correo electrónico. Vassal se ejecuta en todas las plataformas (Windows, Linux, Mac), y es el software gratuito y  de código abierto.

El programa esta hecho en java, y es muy sencillo instalar y usar. Simplemente descargandolo y extraerlo, y tiene un script llamado Vassal.sh, que lo teneis que ejecutar.


Iniciando un módulo en Vassal
Módulos: Son juegos creados por los usuarios. Existen multitud de juegos de tableros ya creados o adaptados por los usuarios (más de 1200 !!! ), lo podeis ver en este enlace: http://www.vassalengine.org/wiki/Category:Modules


Os dejo un video donde explico como descargarlo y usar los módulos de distintos juegos:



Varios enlaces y  videos:


Video de donde explica como jugar a Juegos de Trono, en la versión de Vassal




Video donde se explica jugar a Dominion, en la version de Vassal




Jugar a X-wing con vassal:
Tutorial 1 Intalación y descarga para jugar al X-Wing
Tutorial 2: Menús, Piezas y Cartas


Para programarlos tu mismo:

He encontrado un manual/guia de como crear módulos de juegos en español:
https://yuyuweb.wordpress.com/creando-modulos-de-juegos-con-vassal/
(enlace de la manual/guia en formato PDF https://app.box.com/s/c5f61e6663690a0f5ade )

Y también unos videos tutoriales donde te explican (en inglés) como usar este programa para hacer tus juegos con Vassal:
VASSAL Module Design 101 - Lesson 1
VASSAL Module Design 101 Lesson 2
VASSAL Module Design 101 Lesson 3
VASSAL Module Design 101 Lesson 4
VASSAL Module Design 101 Lesson 5
VASSAL Module Design 101 Lesson 6
VASSAL Module Design 101 Lesson 7
VASSAL Module Design 101 Lesson 8

Saludos

Julio

jueves, 22 de enero de 2015

Desarrollo de Juegos de Tablero (7): Recorrer camino de casillas en el tablero.


Desarrollo de Juegos de Tablero (7):
Recorrer camino de casillas en el tablero.


Vamos a "recuperar" la animación  de que cuando un personaje vaya de una casilla a otra, se mueva por el camino de caillas y no vaya directamente a la casilla (cruzando el tablero).

Para ello modificaremos un poco el código de la clase jugador:

Para mover la posición de un jugador, usabamos el método mover() (y este a su vez llamaba al método mover() de la PiezaAnimada). Bien, pues vamos a modificar el método mover() de la clase  jugador:

Public Sub Mueve(casilla As Integer)

hcasillafinal = casilla

If MiPiezaAnimada.CasillaActual() = hcasillafinal Then
MiPiezaAnimada.Mueve(hcasillafinal)
'estamos ya en esta casilla
Return 'no hacer nada
Endif

If Casilla > MiPiezaAnimada.CasillaActual() Then
MiPiezaAnimada.Mueve(MiPiezaAnimada.CasillaActual() + 1)
Else
MiPiezaAnimada.Mueve(MiPiezaAnimada.CasillaActual() - 1)

Endif

End

Explico el código:
El primer cambio que hacemos en almacenar la casilla a la que tenemos que llegar: "hcasillafinal"

Public hcasillafinal As Integer

Y en el método Mueve(), le asignamo su valor:
Public Sub Mueve(casilla As Integer)
hcasillafinal = casilla

Hacemos una comprobación, si la casilla en la que estamos actual es la casilla final, movemos a la casilla (lo hacemos por si es la primera vez que iniciamos la clase y para forzar a que se dibuje algo) y retornamos 

If MiPiezaAnimada.CasillaActual() = hcasillafinal Then

MiPiezaAnimada.Mueve(hcasillafinal)

'estamos ya en esta casillaReturn 'no hacer nadaEndif



A continuación hacemos una comprobación , para saber si tenemos que movernos a la casilla superior o inferior de la que estemos:
If Casilla > MiPiezaAnimada.CasillaActual() Then

MiPiezaAnimada.Mueve(MiPiezaAnimada.CasillaActual() + 1)

Else

MiPiezaAnimada.Mueve(MiPiezaAnimada.CasillaActual() - 1)

Endif


Ahora en el observardor hacemos los siguientes cambio:
Public Sub ObservadorAnimacion_LLegadaCasilla(NumeroCasilla As Integer)

If hcasillafinal = (NumeroCasilla - 1) Then

'ha llegado al final del movimiento,y lanzo evento
          'informo de que jugador a llegado a la casilla NumeroCasilla

Raise Llegue(Me, NumeroCasilla)


Else

'todavia no ha llegado, tengo que seguir moviendome

Me.Mueve(hcasillafinal)

Endif

End

Si he llegado, emito el evento _LLegue

If hcasillafinal = (NumeroCasilla - 1) Then

'ha llegado al final del movimiento,y lanzo evento

Raise Llegue(Me, NumeroCasilla)

'informo de que jugador a llegado a la casilla NumeroCasilla


, sino, sigo moviendome 
Else

'todavia no ha llegado, tengo que seguir moviendome

Me.Mueve(hcasillafinal)

Endif

De esta manera, si estoy en la casilla 4 y tengo que ir a la 7, primero mueve de la 4 a la 5, luego de la 5 a la 6 y finalmente de la 6 a la 7.

Aqui podeis ver un video del funcionamiento:




Enlace de descarga: Alojado en google drive


En el próximo articulo, ya si veremos como aplicar las reglas del juego que os comentaba en el articulo anterior.

Saludos

Julio