js版貪吃蛇
作者: 鄭曉 分類: javacript 發(fā)布于: 2016-10-27 19:00 瀏覽:6,637 評(píng)論(10)
參考網(wǎng)上某代碼寫的js版貪吃蛇,貪吃蛇整個(gè)過(guò)程分為三部分,地圖的生成、食物的隨機(jī)顯示,蛇的顯示和移動(dòng)。運(yùn)行時(shí)按鍵盤上下左右進(jìn)行方向控制,蛇頭撞到邊界或自己時(shí)游戲結(jié)束。目前已知的問(wèn)題為:生成食物時(shí)未排除生成到蛇身上的可能。
(function() {
var t = null;
var map = null;
var food={x:0,y:0,div:null};
var snake={
//初始化時(shí)的蛇身部分
snakeBody : [[1,2,null], [2,2,null], [3,2,null], [4,2,null]],
direct : "right"
};
var config = {
width:200,
height:200,
px:10, //單位塊大小
mapColor:"#dddddd",
foodColor:"#555555",
snakeColor:"#666666",
position:'absolute',
speed:100
};
var showMap = function() {
var div = document.createElement("div");
div.style.width = config.width + "px";
div.style.height= config.height + "px";
div.style.backgroundColor = config.mapColor;
div.style.position = config.position;
document.getElementsByTagName("body")[0].appendChild(div);
map = div;
};
var showFood = function() {
var x = Math.floor(Math.random()*config.width/config.px);
var y = Math.floor(Math.random()*config.height/config.px);
food.x = x;
food.y = y;
if(food.div == null) {
var div = document.createElement("div");
div.style.width = config.px + "px";
div.style.height= config.px + "px";
div.style.backgroundColor = config.foodColor;
div.style.position = config.position;
div.style.left = x * config.px + "px";
div.style.top = y * config.px + "px";
map.appendChild(div);
food.div = div;
} else {
food.div.style.left = x * config.px + "px";
food.div.style.top = y * config.px + "px";
}
};
var showSnake = function() {
for(var i=0;i
運(yùn)行截圖:
本文采用知識(shí)共享署名-非商業(yè)性使用 3.0 中國(guó)大陸許可協(xié)議進(jìn)行許可,轉(zhuǎn)載時(shí)請(qǐng)注明出處及相應(yīng)鏈接。
本文永久鏈接: http://yjfs.org.cn/js-snake.html
有點(diǎn)意思,我剛好路過(guò)