»
AnglaisFran�aisVietnamien

Imprimer - Croix-Black Snake Game Browser - JavaScriptBank.com

Version compl�te: jsB@nk » Game » Qualification » Croix-Black Snake Game Browser
URL: https://www.javascriptbank.com/cross-browser-black-snake-game.html

Croix-Black Snake Game Browser © JavaScriptBank.comCet Le code JavaScript est une simple croix de navigation snake jeu que vous pouvez ajouter à votre site sur n'importe quel endroit. Choisissez le niveau puis utilisez vos touches de direction pour tenter de manger de la pomme (rouge bloc), mais attention aux murs. A tout moment, vous pouvez mettre en pause le jeu en appuyant sur la barre d'espace. Vous pouvez toujours jouer plus de nos différents jeux de serpent ici.

Version compl�te: jsB@nk » Game » Qualification » Croix-Black Snake Game Browser
URL: https://www.javascriptbank.com/cross-browser-black-snake-game.html



CSS
<style type="text/css">.board{width: 399px;background-color: lightgrey;border: 1px solid gray;position: relative;margin-left: 5px;margin-top: 5px;}#board{height: 399px;border-bottom: 0px;}#apple{position: absolute;background-color: red;height: 7px;width: 7px;overflow: hidden;}.snake{position: absolute;top: 200px;left: 200px;background-color: black;height: 7px;width: 7px;overflow: hidden;}.snake2{position: absolute;top: -10px;left: -10px;background-color: black;height: 7px;width: 7px;overflow: hidden;}#score{height: 50px;margin-top: 0px;}#cscore{color: black;padding-left: 10px;float: left;width: 25%;font-size: xx-large;}#buttons{float: right;width: 50%;text-align: right;padding-top: 10px;}#notice{position: absolute;top: 1em;left: 1em;right: 1em;text-align: center;font-size: 150%;}#i2{position: absolute;bottom: 1em;left: 1em;right: 1em;text-align: center;font-size: 95%;}</style>


JavaScript
<script type="text/javascript">/***************************************************** Cross Browser Snake game- By Brady Mulhollem- http://www.bradyontheweb.com/****************************************************/function cbsnake(){//Pixels to move at oncethis.jump = 8;//Size of snake. Make this one less than jump. Doesn't have to be,but adds good effectthis.sos = 7;//Size of board//DANGER!!! this.sofb must be EVENLY dividable by this.jump DANGER!!!!this.sofb = 400;//Set things upthis.daway = this.sofb - this.jump;this.correct = new Array();this.correct[0] = 0;while(this.correct[this.correct.length -1] != this.daway){this.correct[this.correct.length] = this.correct[this.correct.length -1]+this.jump}this.zero = 0;var gameboard = ' <div class="board" id="board"> <div id="i2"> This is a simple game of Snake. Select a speed then use your arrow keys to attempt and eat the apple(red block), but watch out for the walls and yourself. At any time you can pause the game by pressing the space bar. More snake games are available at <a href="http://www.javascriptbank.com">[email protected]</a> </div> </div><div class="board" id="score"> <span id="cscore">0</span> <span id="buttons"> <button type="button" id="slow" onClick="snake.slow()">Slow</button> <button type="button" id="medium"  onClick="snake.medium()">Medium</button> <button type="button" id="fast"  onClick="snake.fast()">Fast</button> </span></div>';document.write(gameboard);}cbsnake.prototype.setup = function(setspeed){var thisObj = this;//Score...this.score = 0;//Snake Directionthis.sdir = 'none';this.sdirb = 'none'; this.sdirp = 'none';//Snake arraysthis.ctop = new Array();this.cleft = new Array();//Top of snake classthis.ctop[0] = 200;this.ctop[1] = -8;//Left of Snake classthis.cleft[0] = 200;this.cleft[1] = -8;//current top of applethis.atop = 0;//current left of applethis.aleft = 0;//Milliseconds between movethis.speed = setspeed;document.getElementById('board').innerHTML = '<div id="apple"></div><div id="snake0" class="snake"></div><div id="snake1" class="snake"></div>';this.moveapple();this.stopgame = false;setTimeout(function(){ thisObj.msnake() },this.speed);document.onkeydown = function(e){ thisObj.snakedir(e) };}cbsnake.prototype.slow = function(){this.setup(100);this.buttons('true');document.getElementById('slow').blur();}cbsnake.prototype.medium = function(){this.setup(70);this.buttons('true');document.getElementById('medium').blur();}cbsnake.prototype.fast = function(){this.setup(30);this.buttons('true');document.getElementById('fast').blur();}cbsnake.prototype.rannum = function(num1,num2){num1 = parseInt(num1);num2 = parseInt(num2);var generator = Math.random()*(Math.abs(num2-num1));generator = Math.round(num1+generator);return generator;}cbsnake.prototype.moveapple = function(){var usethis = false;while(!usethis){this.atop = this.correct[this.rannum(0,this.correct.length-1)];this.aleft = this.correct[this.rannum(0,this.correct.length-1)];if(this.numInArray(this.ctop,this.cleft,this.atop,this.aleft) == 0){usethis = true;}}document.getElementById('apple').style.top = this.atop+"px";document.getElementById('apple').style.left = this.aleft+"px";}cbsnake.prototype.snakedir = function(e){if(!e){//IE...e = window.event;}switch(e.keyCode){case 38:if(this.sdir != 'down' && this.sdirp != 'down'){this.sdirb = 'up';this.sdirp = 'up';}break;case 40:if(this.sdir != 'up' && this.sdirp != 'up'){this.sdirb = 'down';this.sdirp = 'down';}break;case 37:if(this.sdir != 'right' && this.sdirp != 'right'){this.sdirb = 'left';this.sdirp = 'left';}break;case 39:if(this.sdir != 'left' && this.sdirp != 'left'){this.sdirb = 'right';this.sdirp = 'right';}break;case 32:if(this.sdir == 'none' && this.sdirp != 'none'){this.sdirb = this.sdirp;this.sdirp = 'none';}else{this.sdirp = this.sdir;this.sdirb = 'none';}break;}return false;}cbsnake.prototype.msnake = function(){if(this.stopgame === false){if(this.sdir != 'none'){this.moveall();}var thisObj = this;switch(this.sdir){case 'up':this.ctop[0] = this.ctop[0] - this.jump;document.getElementById('snake0').style.top = this.ctop[0]+"px";if((this.ctop[0] == this.zero && this.sdirb == 'up') || this.ctop[0] < this.zero){this.gover();}break;case 'down':this.ctop[0] = this.ctop[0] + this.jump;document.getElementById('snake0').style.top = this.ctop[0]+"px";if((this.ctop[0] == this.daway && this.sdirb == 'down') || this.ctop[0] > this.daway){this.gover();}break;case 'left':this.cleft[0] = this.cleft[0] - this.jump;document.getElementById('snake0').style.left = this.cleft[0]+"px";if((this.cleft[0] == this.zero && this.sdirb == 'left') || this.cleft[0] < this.zero){this.gover();}break;case 'right':this.cleft[0] = this.cleft[0] + this.jump;document.getElementById('snake0').style.left = this.cleft[0]+"px";if((this.cleft[0] == this.daway && this.sdirb == 'right') || this.cleft[0] > this.daway){this.gover();}break;}if(this.sdir != 'none'){this.hitself();this.happle();}this.sdir = this.sdirbsetTimeout(function(){ thisObj.msnake() },this.speed);}}cbsnake.prototype.gover = function(){if(!this.stopgame){this.stopgame = true;var inner = document.getElementById('board').innerHTML;document.getElementById('board').innerHTML = inner+'<div id="notice">Game Over! Your Score was '+this.score+'</div><div id="i2">This is a simple game of Snake. Select a speed then use your arrow keys to attempt and eat the apple(red block), but watch out for the walls and yourself. At any time you can pause the game by pressing the space bar. More snake games are available at <a href="http://www.javascriptbank.com">[email protected]</a></div>';document.getElementById('apple').style.backgroundColor = '#D7BEBE';for(i=0;i<this.cleft.length;i++){document.getElementById('snake'+i).style.backgroundColor = '#BEBEBE';}this.buttons('');}}cbsnake.prototype.happle = function(){if(this.atop == this.ctop[0] && this.aleft == this.cleft[0]){//HIT!!!this.score++;document.getElementById('cscore').innerHTML = this.score;this.moveapple();this.addsnake();}}cbsnake.prototype.addsnake = function(){var newsnake = document.createElement('div');var newid = 'snake'+this.cleft.length;newsnake.setAttribute('id',newid);//this crap is for IE. I would rather add the class name.newsnake.style.position = 'absolute';newsnake.style.top = '-10px';newsnake.style.left = '-10px';newsnake.style.display = 'none';newsnake.style.backgroundColor = 'black';newsnake.style.height = '7px';newsnake.style.width = '7px';newsnake.style.overflow = 'hidden';document.getElementById('board').appendChild(newsnake);this.cleft[this.cleft.length] = -10;this.ctop[this.ctop.length] = -10;}cbsnake.prototype.moveall = function(){var i = this.ctop.length - 1;while(i != 0){document.getElementById('snake'+i).style.top = document.getElementById('snake'+(i-1)).style.top;document.getElementById('snake'+i).style.left = document.getElementById('snake'+(i-1)).style.left;document.getElementById('snake'+i).style.display = 'block';this.ctop[i] = this.ctop[i-1];this.cleft[i] = this.cleft[i-1];i = i - 1;}}cbsnake.prototype.numInArray = function(array,array2,value,value2){var n = 0;for (var i=0; i < array.length; i++) {if (array[i] === value && array2[i] === value2) {n++;}}return n;}cbsnake.prototype.hitself = function(){if(this.numInArray(this.ctop,this.cleft,this.ctop[0],this.cleft[0]) > 1){this.gover();}}cbsnake.prototype.buttons = function(setto){document.getElementById('slow').disabled = setto;document.getElementById('medium').disabled = setto;document.getElementById('fast').disabled = setto;}</script>


HTML
<script type="text/javascript">var snake = new cbsnake();</script>