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:



miércoles, 11 de noviembre de 2015

Juego BuscaCaras: Uso de shuffle (barajar)

Juego Busca Caras:

Uso de shuffle (barajar)


Descripción del juego:
Os dejo un juego para los más pequeños: Se trata de encontrar que cara se repite de las 32 que aparecen aleatoriamente colocadas en un formulario. Tenemos 3 intentos (o vidas), cada vez que nos equivocamos, nos quitará una vida, y si acertamos, añadiremos una vida (como máximo tendremos 3 vidas). Si llegamos a 0 vidas, se acaba el juego :)

Funcionamiento interno:
La función barajar (shuffle) se usa para desordenar las caras que estan almacenadas  en un array de cadenas.
Primero se elige una entre las 32 caras, la cual se elimina del array, y luego se elige otra de las que tenga para añadirla al array, asi tenemos la "cara repetida". Luego desordenamos el array con la función barajar(shuffle).

Para mostrar las cras se usan controles ToolButton, creados en tiempo de ejecución dentro de un contenedor del tipo Hpanel.


Public Sub CrearBotones()

Dim a As Integer
Dim botontmp As ToolButton
Dim listaPresentacion As New String[]

For a = 0 To listacaras.max
listaPresentacion.Add(listaCaras[a])
Next

'quito una cara aleatoriamente
listaPresentacion.Remove(Int(Rnd(0, listaPresentacion.max)))
'añado una cara repetida
caraRepetida = listaPresentacion[Int(Rnd(0, listaPresentacion.count))]
listaPresentacion.Add(caraRepetida)

'barajo
listaPresentacion = ModuleAzar.barajar(listaPresentacion)

For a = 0 To 31
botontmp = New ToolButton(HPanel1) As "botones"
botontmp.Picture = Picture[listaPresentacion[a]]
botontmp.w = 75
botontmp.h = 75
botontmp.Border = True
botontmp.tag = listaPresentacion[a]
Next

End



Código Fuente e instalador .deb: alojado en google drive


Video del programa funcionando:





Nota:
17/11/2015
Gracias a Portano, ya tenemos el programa traducido al Portugués, Francés y Inglés