JeuWeb - Crée ton jeu par navigateur

Version complète : Labyrinthe Javascript - Redirection vers autre fichier
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,
Je re-solicite votre aide car j'ai un autre petit soucis.
Voilà comme c'est dit dans la titre je fais un labyrinthe en javascript. J'aimerais créer des niveaux et pour cela j'aimerais lorsque le labyrinthe est fini, afficher un bouton qui renvoie vers un autre fichier où se trouve le code pour le labyrinthe du niveau suivant.
Comment faire?
Voici le code pour mon labyrinthe :

Code :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <HTML>
  <HEAD>
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=UTF-8">
    <TITLE>Labyrinthe</TITLE>
    <link rel="stylesheet" href="Style.css">
  </HEAD>
  
    <h1> > Le Pandabyrinthe < </h1>
  
  <body>
    <table style="width:500px;height:500px" id="labyrinthe">
    </table>

    <span id="compt"></span>
  
    <script src="http://yourjavascript.com/11041413341/ice-pack-panda-kawaii.js"
         type="text/javascipt"></script>
    <FORM>
<INPUT
    TYPE=button
    VALUE="Lien vers... "
    onClick="document.location.href="C:\Users\admin\Documents\Cours\ISN\PROJET LABYRINTH\Labyrinthe\Labyrinthe-2.html";>
</FORM>

  <script type="text/javascript">
        xperso=0;
        yperso=2;
        //tableau à double entrée représentant un labyrinthe
        var laby = [[0,0,0,0,0,0,0,0,0,0],
                   [0,1,1,1,1,1,1,1,1,0],
                   ['d',1,0,0,0,0,1,0,1,0],
                   [0,1,0,1,1,1,1,0,1,0],
                   [0,1,0,1,0,1,0,0,1,0],
                   [0,1,0,0,0,1,1,0,0,0],
                   [0,1,1,0,1,1,0,1,0,0],
                   [0,1,0,0,0,1,1,1,1,0],
                   [0,1,1,1,0,1,0,0,1,'f'],
                   [0,0,0,0,0,0,0,0,0,0]];


         var laby = [[0,0,'d',0,0,0,0,0,0,0],
                    [0,1,1,1,1,1,1,1,1,0],
                    [0,1,0,0,0,0,1,0,1,0],
                    [0,1,0,1,1,0,0,0,1,0],
                    [0,1,0,1,0,0,1,0,0,0],
                    [0,1,0,1,1,1,1,1,1,0],
                    [0,1,1,1,0,1,0,1,0,0],
                    [0,1,0,0,0,0,1,1,0,0],
                    [0,1,1,1,1,0,0,1,1,0],
                    [0,0,0,0,0,0,0,0,'f',0]];
                  
        for(var i=0;i<10;i++){
            var ligne='<tr>';
            for(var j=0;j<10;j++){
                if(laby[j][i]==1){
                    ligne+='<td></td>';
                }else if(laby[j][i]=='f'){
                    ligne+='<td bgcolor="red" width="35" height="35" alt=""></td>';
                }else if (laby[j][i]=='d'){
                    ligne+='<td bgcolor="#00aa00" width="35" height="35" alt=""></td>';
                }else{
                    ligne+='<td bgcolor="black" width="35" height="35" alt=""></td>';
                }
            }
            ligne+='</tr>';
            $('#labyrinthe').append(ligne);
        }


        afficherperso(xperso,yperso);
        
        function afficherperso (x,y) {
            var labyrinthe=$('#labyrinthe');
            var ligne=$(labyrinthe.find('tr').get(y));
            var cellule=$(ligne.find('td').get(x));
            cellule.html('<img src="http://img15.hostingpics.net/pics/488856icepackpandakawaii.png" width="30" height="30" alt="">');
        }
  
//  var div = document.getElementById('div');

    document.addEventListener('keyup', function(e) {
        
        if(e.keyCode == 40) // BAS
        {
          
            if(laby[xperso][yperso+1]==1){
            yperso=yperso+1;
            afficherperso (xperso,yperso);
            }
            else if(laby[xperso][yperso+1]=='f'){
            yperso=yperso+1;
            afficherperso (xperso,yperso);
            alert("Tu as sauvé un Panda!");
            clearInterval(timer);
            }

        }
        
        if(e.keyCode == 38) //Haut
        {
        
            if(laby[xperso][yperso-1]==1){
            yperso=yperso-1;
            afficherperso (xperso,yperso);
            }
            else if(laby[xperso][yperso-1]=='f'){
            yperso=yperso-1;
            afficherperso (xperso,yperso);
            alert("Tu as sauvé un Panda!");
            clearInterval(timer);
            }

        }
        
        if(e.keyCode == 37) //Gauche
        {
        
            if(laby[xperso-1][yperso]==1){
            xperso=xperso-1;
            afficherperso (xperso,yperso);
            }
            else if(laby[xperso-1][yperso]=='f'){
            xperso=xperso-1;
            afficherperso (xperso,yperso);
            alert("Tu as sauvé un Panda!");
            clearInterval(timer);
            }


        }
        
        if(e.keyCode == 39) // Droite
        {
        
            if(laby[xperso+1][yperso]==1){
            xperso=xperso+1;
            afficherperso (xperso,yperso);
            
            }
            else if(laby[xperso+1][yperso]=='f'){
            xperso=xperso+1;
            afficherperso (xperso,yperso);
            alert("Tu as sauvé un Panda!");
            clearInterval(timer);
            }
        
        }
    });
    
    
    var compte = 15;
        function decompte()
        {
            if(compte <= 1) {
                pluriel = "";
        }         else {
                pluriel = "s";
        }

        document.getElementById("compt").innerHTML = compte + " seconde" + pluriel;

            if(compte == 0 || compte < 0) {
            compte = 0;
            alert("Perdu! Tu as tué un panda!")
            clearInterval(timer);
            }

        compte--;
        }
        var timer = setInterval('decompte()',1000);
  </script>
  </body>

Merci d'avance Smile
Ici non plus ce n'est pas lisible, tu devrais utiliser les balises "code" plutot que les balises "quote".

Une fois le labirynthe fini tu peux en charger un autre via AJAX par exemple. Il te faudra alors les stocker sur un serveur. Ou tu peux inclure un nouveau <scr!pt src="niveau-2.js"> qui déclare le nouveau labirynthe.
(et pourquoi pas quelque chose de plus web-friendly: un lien html qui renvoie vers la page suivante, avec le nouveau labyrinthe? On garde la possibilité de revenir au niveau précédent pour le rejouer, on a des codes bien séparés et clairs, et on évite d'aborder des méthodes "avancées"?)
ben oui ! mais là vu que tout semble être en javascript je propose une solution associée
niahoo, pourrais-tu détailler? Confused