Yasminuroban (by Joan Alba Maldonado) : Game : Page Components JAVASCRIPT DHTML TUTORIALS


JAVASCRIPT DHTML TUTORIALS » Page Components » Game »

 

Yasminuroban (by Joan Alba Maldonado)




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Yasminuroban &copy; (by Joan Alba Maldonado)</title>
        <!-- (cYasminuroban - Programa realizado por Joan Alba Maldonado (granvino@granvino.com). Prohibido publicar, reproducir o modificar sin citar expresamente al autor original. -->
        <script language="JavaScript1.2" type="text/javascript">
            <!--
                //(c) Yasminuroban - Programa realizado por Joan Alba Maldonado (granvino@granvino.com). Prohibido publicar, reproducir o modificar sin citar expresamente al autor original.


                //Variable que guarda el primer evento del teclado (razones de compatibilidad):
                var primer_evento = "";
                
                //Matriz que contendra los niveles:
                var niveles = new Array();
                
                //El ancho de las celdas:
                var celda_width = 40;
                
                //El alto de las celdas:
                var celda_height = 40;
    
                //El numero de piezas que deben ser colocadas:
                var numero_piezas_totales = 0;
                //El contador de piezas ya colocadas:
                var numero_piezas_colocadas = 0;

                //El numero de nivel:
                var nivel = 1;
                
                //El numero de niveles que hay en total (se calcula en generar_niveles):
                var numero_niveles = 0;
                
                //Matriz que guarda los movimientos efectuados:
                var movimientos_anteriores = new Array();
                //Variable que define que numero de movimientos se han realizado:
                var numero_movimientos = 0;
                //Variable que muestra el numero de movimientos realizados:
                var numero_movimientos_mostrar = numero_movimientos;
                
                //Variable que contendra el Timeout del movimiento del personaje:
                var movimiento_personaje = setTimeout(""1)//Se setea para que no de error el primer clearTimeout.
                
                //Variable que indica si ya se ha comprobado el envio de un mapa por url (GET), para usar niveles del editor:
                var mapa_url_recogido = false;

                //Variable que guarda la url que enlaza con el editor (para editar el nivel actual):
                var url_editor = "editor.htm";
                
                //Funcion para saber si ya se ha saludado (dando instrucciones de poner todas las botellas en sus copas):
                var se_ha_saludado = false;
                
                //Variable que define si el juego ya se ha iniciado o no (para no dar error al pulsar una tecla mientras carga el juego):
                var juego_iniciado = false;
                
                //Imagenes del juego:
                if (document.images)
                 {
                    //Se crean los objetos:
                    var img_pared1 = new Image(celda_width, celda_height);
                    var img_pared2 = new Image(celda_width, celda_height);
                    var img_pared3 = new Image(celda_width, celda_height);
                    var img_pieza = new Image(celda_width, celda_height);
                    var img_agujero_vacio = new Image(celda_width, celda_height);
                    var img_agujero_lleno = new Image(celda_width, celda_height);
                    var img_personaje_derecha1 = new Image(celda_width, celda_height);
                    var img_personaje_derecha2 = new Image(celda_width, celda_height);
                    var img_personaje_izquierda1 = new Image(celda_width, celda_height);
                    var img_personaje_izquierda2 = new Image(celda_width, celda_height);
                    var img_personaje_arriba1 = new Image(celda_width, celda_height);
                    var img_personaje_arriba2 = new Image(celda_width, celda_height);
                    var img_personaje_abajo1 = new Image(celda_width, celda_height);
                    var img_personaje_abajo2 = new Image(celda_width, celda_height);
                    //Se define el numero total de imagenes de paredes (para poder alternarlas):
                    var numero_img_paredes = 3;
                    //Se crean las imagenes en los objetos:
                    img_pared1.src = "img/piedra1.gif"//Imagen de la pared #1.
                    img_pared2.src = "img/piedra2.gif"//Imagen de la pared #2.
                    img_pared3.src = "img/piedra3.gif"//Imagen de la pared #3.
                    img_pieza.src = "img/botella.gif"//Imagen de la pieza.
                    img_agujero_vacio.src = "img/copa1.gif"//Imagen del agujero vacio.
                    img_agujero_lleno.src = "img/copa2.gif"//Imagen del agujero lleno.
                    img_personaje_derecha1.src = "img/yas_right1.gif"//Imagen del personaje hacia la derecha #1.
                    img_personaje_derecha2.src = "img/yas_right2.gif"//Imagen del personaje hacia la derecha #2.
                    img_personaje_izquierda1.src = "img/yas_left1.gif"//Imagen del personaje hacia la izquierda #1.
                    img_personaje_izquierda2.src = "img/yas_left2.gif"//Imagen del personaje hacia la izquierda #2.
                    img_personaje_arriba1.src = "img/yas_up1.gif"//Imagen del personaje hacia arriba #1.
                    img_personaje_arriba2.src = "img/yas_up2.gif"//Imagen del personaje hacia arriba #2.
                    img_personaje_abajo1.src = "img/yas_down1.gif"//Imagen del personaje hacia abajo #1.
                    img_personaje_abajo2.src = "img/yas_down2.gif"//Imagen del personaje hacia abajo #2.
                    //Se crea la imagen que usara el personaje en cada momento:
                    var imagen_personaje = new Image(celda_width, celda_height);
                    imagen_personaje.src = img_personaje_abajo1.src;
                 }
    
                
                //Funcion que inicia el juego:
                function iniciar_juego(numero_nivel)
                 {
                    //Genera los niveles:
                    generar_niveles();
                    
                    //Crea la url para ir al editor y poder editar el nivel actual:
                    generar_url_editor(numero_nivel);
                    
                    //Se pone como imagen inicial del personaje la que mira hacia abajo:
                    document.getElementById("personaje").innerHTML = '<img src="img/yas_down1.gif" id="personaje_imagen" title="You are here" alt="@" width="'+celda_width+'" height="'+celda_height+'" border="0" hspace="0" vspace="0">';
                   
                    //Se borran los movimientos anteriores y se setea el contador de movimientos a cero:
                    movimientos_anteriores = new Array();
                    numero_movimientos = 0;
                    numero_movimientos_mostrar = numero_movimientos;

                    //Se setea el nivel a 1 o al que corresponda:
                    nivel = numero_nivel;

                    //Se adecua el tama??las celdas al tama?? mapa:
                    if (niveles[nivel]["width"48 || niveles[nivel]["height"30) { celda_width = 10; celda_height = 10}
                    else if (niveles[nivel]["width"32 || niveles[nivel]["height"24) { celda_width = 15; celda_height = 15}
                    else if (niveles[nivel]["width"26 || niveles[nivel]["height"18) { celda_width = 20; celda_height = 20}
                    else if (niveles[nivel]["width"20 || niveles[nivel]["height"12) { celda_width = 30; celda_height = 30}
                    else celda_width = 40; celda_height = 40}
                    //Se aplican los cambios de tama??                   document.getElementById("personaje").style.width = celda_width + "px";
                    document.getElementById("personaje").style.height = celda_height + "px";
                    document.getElementById("personaje").innerHTML = '<img src="img/yas_down1.gif" id="personaje_imagen" title="You are here" alt="@" width="'+celda_width+'" height="'+celda_height+'" border="0" hspace="0" vspace="0">';

                    //Se setea el numero de piezas colocadas a cero:
                    numero_piezas_colocadas = 0;

                    //Muestra el mapa en pantalla:
                    pintar_mapa(true);

                    //Guarda el mapa anterior, para poder realizar deshacer:
                    guardar_mapa();

                    //Actualiza la barra de estado:
                    actualizar_barra();

                    //Se informa del nivel en el mensaje:
                    document.getElementById("mensaje").innerHTML = "Welcome to Level: "+nivel;
                    //Se hace visible el mensaje:
                    document.getElementById("mensaje").style.visibility = "visible";
                    //Se oculta el mensaje despues de 3 segundos:
                    setTimeout("document.getElementById('mensaje').style.visibility='hidden'"3000)

                    //Si el nivel es el primero y aun no se ha saludado, dando instrucciones, se hace:
                    if (nivel <= && !se_ha_saludado) { alert("Welcome to the first level. Place all the bottles in the glasses."); se_ha_saludado = true}
                 }
                

                //Funcion que genera los niveles:
                function generar_niveles()
                 {
                    //Leyenda:
                    //   => Vacio.
                    // # => Pared (piedra).
                    // @ => Posicion inicial del personaje (yasmina).
                    // $ => Pieza (botella).
                    // 
Download : Download nav_yasminuroban_english.zip nav_yasminuroban_english.zip


-

Leave a Comment / Note


 
Verification is used to prevent unwanted posts (spam). .

Follow Navioo On Twitter

JAVASCRIPT DHTML TUTORIALS

 Navioo Page Components
» Game