JeuWeb - Crée ton jeu par navigateur
Labyrinthe Javascript - Redirection vers autre fichier - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Labyrinthe Javascript - Redirection vers autre fichier (/showthread.php?tid=4700)



Labyrinthe Javascript - Redirection vers autre fichier - Pandoux - 14-05-2014

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


RE: Labyrinthe Javascript - Redirection vers autre fichier - niahoo - 14-05-2014

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.


RE: Labyrinthe Javascript - Redirection vers autre fichier - Xenos - 14-05-2014

(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"?)


RE: Labyrinthe Javascript - Redirection vers autre fichier - niahoo - 14-05-2014

ben oui ! mais là vu que tout semble être en javascript je propose une solution associée


RE: Labyrinthe Javascript - Redirection vers autre fichier - Pandoux - 14-05-2014

niahoo, pourrais-tu détailler? Confused