Anuncios Google

6.- Función finjuego, Función pantallafin y Función inicializar

Tutoriales Avanzados Homebrewes

En este último capí­tulo veremos las tres funciones que quedan por analizar. Se trata de la funciones que se utilizan cuando el juego llega a su fin.

La funcion finjuego() se llama cuando uno de los jugadores ha ganado el juego.

function finjuego()
 
            pantallafin()   
 
            screen.waitVblankStart()
 
            screen.flip()   
 
            screen.waitVblankStart(100)

Se llama a la función pantallafin(), que veremos a continuación, y se hace una pausa de 100/60 segundos para que de tiempo a ver a la pantalla de juego justo en el momento que se produjo el fin del mismo.

            pantallafin()
 
            if PuntosIzda > PuntosDrch then
 
                        screen:fontPrint(proportional25, 60, 170, "TU GANAS", rojo)   
 
                        screen:fontPrint(proportional25, 290, 170, "TU PIERDES", rojo)
 
            else
 
                        screen:fontPrint(proportional25, 50, 170, "TU PIERDES", rojo)   
 
                        screen:fontPrint(proportional25, 300, 170, "TU GANAS", rojo)   
 
            end
 
            screen.waitVblankStart()
 
            screen.flip()

Se llama a la función pantallafin(), y se escribe en pantalla los textos "TU GANAS",y "TU PIERDES", en el lado de la pantalla que corresponda, según haya ganado el jugador de la izquierda o de la derecha.

           

            screen.waitVblankStart(250)

Se hace una pausa de 250/60 segundos para que de tiempo a ver a la pantalla.

           

            inicializar()

Se llama a la función inicializar(), para preparar todas las variables para un nuevo juego.

 

end

La función pantallafin() crea la imagen de la pantalla de juego, en el momento en que este finaliza. Sitúa la bola y las barras en la última posición, y escribe el texto "FIN DEL JUEGO". No creo necesario analizar esta función ya que es muy simple.

function pantallafin()
 
            screen:blit(0, 0, fondo)
 
            screen:blit(x-5, y-5, pelota)
 
            screen:blit(0, PosBarraIzda - 30, BarraIzda)
 
            screen:blit(470, PosBarraDrch - 30, BarraDrch)
 
            screen:fontPrint(proportional25, 210, 30, PuntosIzda, rojo)
 
            screen:fontPrint(proportional25, 260, 30, PuntosDrch, rojo)   
 
            screen:fontPrint(proportional25, 165, 136, "FIN DEL JUEGO", rojo)
 
end

 

Por último, la función inicializar() prepara todas las variables para poder empezar un nuevo juego. Tampoco es necesario analizar esta función ya que vimos la misión de todas estas variables en el Capí­tulo 1.

-- funcion inicializar variables
 
function inicializar()
 
-- menu
 
opcionmenu = 1
 
como = 1
 
-- inicializa variables puntos
 
PuntosIzda = 0
 
PuntosDrch = 0
 
-- variables pelota
 
x = 30
 
y = 136
 
VelPelota = VelPelotaIni
 
aleatorio()
 
AngPico = 30
 
pi = math.atan(1) * 4
 
--AngPelota = (AngPelota * pi) / 180
 
AngPico = (AngPico * pi ) / 180
 
NumGolpes = 0
 
-- Variables Barras
 
PosBarraIzda = 136
 
PosBarraDrch = 136
 
VelBarra = 8
 
End

 

Y aquí­ finaliza esta serie de capí­tulos que han tratado de explicar como está programado el juego TenisLUA.

Aunque cada programa puede ser muy diferente de otro, espero que este tutorial os pueda dar ideas para utilizar en vuestros propios programas.

Con estos tutoriales hemos visto como crear un menú con varias opciones, como elegir o cambiar las opciones del menú en función de los botones pulsados, como crear la imagen de la pantalla de juego, como mover los elementos del juego mediante la pulsación de los botones, como hacer una pausa, como reiniciar el juego, y unas cuantas cosas más.

La única forma de aprender a programar es programando. No os desilusionéis si al principio sólo sois capaces de hacer cosas muy sencillas, o si no conseguí­s que funcionen correctamente. La práctica y la constancia hará que poco a poco obtengáis buenos resultados.

Aunque este es mi primer programa en LUA, ya habí­a programado algo en BASIC, lo que me ha servido de mucha ayuda. Pero recuerdo que cuando empecé con BASIC a los 15 años sólo era capaz de hacer programas muy simples.

Espero que os animéis a programar, ya que reporta mucha satisfacción ver una creación propia funcionando. Y si tenéis algún problema sabed que estamos a vuestra disposición en el foro para ayudaros.

Un saludo y a programar.

4.416665
Tu voto: Ninguno Votos totales: 4.4 (12 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Esterford®

Wow, vaya trabajito... Mui

Wow, vaya trabajito...

Mui bien, me gustaria aprender a programar en LUA pero solo se programar en C++ y eso más o menos Indeciso

.::Saludos::.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.