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.
Comentarios
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
.::Saludos::.