Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE HTML>
- <html>
- <head>
- <script type="text/javascript" src="mousePos.js"></script>
- <style>
- #kevinou
- {
- border : 1px solid black;
- }
- </style>
- </head>
- <body onKeyDown='keyDown(event)' onKeyUp='keyUp(event)'>
- <div id="kevin" style="position:absolute;width:16px;height:18px;"></div>
- <div id="mapDiv" style="position:absolute"></div>
- <script>
- t = 1;
- x = 20;
- y = 20;
- left = 0;
- right = 0;
- up = 0;
- bot = 0;
- w = 0;
- collones = 0;
- lignes = 0;
- divMapX = 0;
- divMapY = 0;
- map = new Array();
- map[0] = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1); // 1 = Mur ; 0 = Case vide
- map[1] = new Array(1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1);
- map[2] = new Array(0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1);
- map[3] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1);
- map[4] = new Array(1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1);
- map[5] = new Array(1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1);
- map[6] = new Array(1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1);
- map[7] = new Array(1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1);
- map[8] = new Array(1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1);
- map[9] = new Array(1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1);
- map[10] = new Array(1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1);
- map[11] = new Array(1,1,1,1,1,1,0,0,1,1,1,1,1,1,5,1);
- map[12] = new Array(1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1);
- map[13] = new Array(1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1);
- map[14] = new Array(1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1);
- map[15] = new Array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
- div = new Array();
- for(i = 0; i < map.length; i++)
- {
- div[i] = new Array();
- divMapY += "16px";
- for(j = 0; j < map[i].length; j++)
- {
- divMapX += "16px";
- div[i][j] = new Array();
- div[i][j] =document.createElement('div');
- div[i][j].setAttribute('id', "divNumero"+i+","+j);
- div[i][j].style.width = "16px";
- div[i][j].style.height = "16px";
- div[i][j].style.left = divMapX ;
- div[i][j].style.top = divMapY ;
- div[i][j].style.backgroundImage = 'url("tiles.png")';
- if (map[i][j] == 1)
- {
- div[i][j].style.backgroundPosition= "16px 256px"; // affiche un mur si la position est 1
- }
- else
- {
- div[i][j].style.backgroundPosition= "32px 240px"; // sinon affiche une case vide (herbe)
- }
- }
- }
- /*string = ""
- for (i = 0; i < map.length; i++)
- {
- for (j= 0; j < map[i].length; j++)
- {
- string += map[i][j]
- }
- string += "<br />"
- }
- document.getElementById('mapDiv').innerHTML = string;
- */
- kevin = document.getElementById('kevin');
- kevin.style.backgroundImage = 'url("playerTileSet.png")';
- gameplayLoop();
- // J'ai ptete fait des fautes de frappe, j'ai pas testé le code.
- // On considère que la position du perso est définie par les variables x et y:
- // Cette fonction va se répéter toutes les 33ms, dedans tu mets le code qui gère ton jeu (affichage, déplacement, blabla)
- function gameplayLoop()
- {
- var begin = new Date(); // Moment de début de la boucle
- kevin.style.left = x + "px";
- kevin.style.top = y + "px";
- /*
- Code du jeu à éxécuter à chaque boucle (déplacements, etc)
- */
- movePlayer(); // Cette fonction sera apellée à chaque passage de boucle (donc toutes les 33 ms) pour déplacer le personnage.
- var end = new Date(); // Moment de fin de la boucle
- delta = end.getTime() - begin.getTime(); //Delta correspond au temps que la boucle a mis à s'éxécuter. Ca permet de s'assurer que la gameplayLoop se répètera précisément toutes les 33ms
- if (delta > 33)
- {
- delta = 33;
- }
- setTimeout('gameplayLoop()', 33 - delta); // Cette ligne sert à répéter la fonction gameplayloop dans un temps egal à 33 - delta
- }
- function keyDown(event)
- {
- // Cette fonction va s'occuper d'activer une variable quand le joueur appuie sur une touche
- if (event.keyCode == 37)
- {
- left = 1; // 37 = flèche gauche
- }
- if (event.keyCode == 38)
- {
- up = 1; // 38 = flèche haut
- }
- if (event.keyCode == 39)
- {
- right = 1; // 39 = flèche droite
- }
- if (event.keyCode == 40)
- {
- bot = 1; // 40 = flèche bas
- }
- }
- function keyUp(event)
- {
- // Cette fonction va désactiver les variables quand le joueur lache une touche.
- if (event.keyCode == 37)
- {
- left = 0; // 37 = flèche gauche
- }
- if (event.keyCode == 38)
- {
- up = 0; // 38 = flèche haut
- }
- if (event.keyCode == 39)
- {
- right = 0; // 39 = flèche droite
- }
- if (event.keyCode == 40)
- {
- bot = 0; // 40 = flèche bas
- }
- }
- function movePlayer()
- {
- // Cette fonction va vérifier quelles touches sont activées et déplacer le joueur en conséquence. Par exemple:
- if (left == 1)
- {
- x -= 5;
- caractAnim("left"); // Déplace le joueur de - 5 sur x (donc vers la gauche)
- }
- if (right == 1)
- {
- x += 5;
- caractAnim("right");
- }
- if (up == 1)
- {
- y -= 5;
- caractAnim("up");
- }
- if (bot == 1)
- {
- y += 5;
- caractAnim("bot");
- }
- }
- function caractAnim(p)
- {
- if (p == "left")
- {
- switch(t)
- {
- case 1:
- kevin.style.backgroundPosition= "16px 18px";
- t = 2;
- break;
- case 2:
- kevin.style.backgroundPosition= "30px 18px";
- t = 3;
- break;
- case 3:
- kevin.style.backgroundPosition= "45px 18px";
- t = 1;
- break;
- }
- }
- if (p == "right")
- {
- switch(t)
- {
- case 1:
- kevin.style.backgroundPosition= "18px 54px";
- t = 2;
- break;
- case 2:
- kevin.style.backgroundPosition= "33px 54px";
- t = 3;
- break;
- case 3:
- kevin.style.backgroundPosition= "48px 54px";
- t = 1;
- break;
- }
- }
- if (p == "up")
- {
- switch(t)
- {
- case 1:
- kevin.style.backgroundPosition= "1px 72px";
- t = 2;
- break;
- case 2:
- kevin.style.backgroundPosition= "17px 72px";
- t = 3;
- break;
- case 3:
- kevin.style.backgroundPosition= "31px 72px";
- t = 1;
- break;
- }
- }
- if (p == "bot")
- {
- switch(t)
- {
- case 1:
- kevin.style.backgroundPosition= "1px 36px";
- t = 2;
- break;
- case 2:
- kevin.style.backgroundPosition= "17px 36px";
- t = 3;
- break;
- case 3:
- kevin.style.backgroundPosition= "31px 36px";
- t = 1;
- break;
- }
- }
- }
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment