贪吃蛇

定义 游戏引擎 对象

···var gGameBox = {
rows: 20, 行数
cols: 20, /列数
allTds: [], 存储所有的td元素对象
food: null, 食物对象
snake: null, 蛇对象
timer: null, 定时器···

方法: 清空环境

··· clear: function() {
for (var i = 0; i < gGameBox.allTds.length; i++) {
for (var j = 0; j < gGameBox.allTds[i].length; j++) {
gGameBox.allTds[i][j].className = "";
}
}
},
···

方法:支持键盘控制

··· keyControl: function() {
// onkeydown
window.onkeydown = function(e) {

        var c = e.keyCode;
        if (c == 37)
        {

            if (gGameBox.snake.direct == "right")
            {
                return ;
            }
            gGameBox.snake.direct = "left";
        }
        else if (c == 38)
        {
            if (gGameBox.snake.direct == "down")
            {
                return ;
            }
            gGameBox.snake.direct = "up";
        }
        else if (c == 39)
        {
            if (gGameBox.snake.direct == "left")
            {
                return ;
            }
            gGameBox.snake.direct = "right";
        }
        else if (c == 40)
        {
            if (gGameBox.snake.direct == "up")
            {
                return ;
            }
            gGameBox.snake.direct = "down";
        }
    }
},

start: function() {

    gGameBox.init(); // 游戏初始化
    
    gGameBox.food = new Food(); // 创建食物
    gGameBox.snake = new Snake(); // 创建蛇
    gGameBox.keyControl();
    gGameBox.timer = setInterval(function() {
        gGameBox.clear();
        gGameBox.snake.move();
        gGameBox.food.show();
    }, 500);

    //gGameBox.snake.fresh();
},

···
## 初始化
···init: function() {
var oTable = document.createElement("table");
for (var i = 0; i < gGameBox.rows; i++)
{
r oTr = document.createElement("tr");
var arr = [];
for (var j = 0; j < gGameBox.cols; j++) {
var oTd = document.createElement("td");
arr.push(oTd);
}
gGameBox.allTds.push(arr);

        oTable.appendChild(oTr);
    }
    document.body.appendChild(oTable);
}

};···

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 贪吃蛇是众多90后小时候玩过的一款经典手游,但是在程序员眼中则是几页代码的编辑,代码里所涉及的内容也比较简...
    3c58eba4eb74阅读 599评论 0 0
  • 仿写一个html小游戏,贪吃蛇。 它的body中要写的内容并不多,只是展示出来几个按钮input还有就是蛇本身最开...
    简鱼7819阅读 1,089评论 4 5
  • 注:IE 8 或更早的浏览器不支持 元素。 涉及核心函数: fillRect:绘制“已填色”的矩形。默认的填充...
    Separes阅读 265评论 0 0
  • 首先创造一个游戏引擎构造函数里面有行数列数属性跟一个初始化的方法初始化方法里创建出table tr td 分别使用...
    qzuser_8165阅读 208评论 0 0
  • 这个星期一直在连轴转,心心念的事情终于周二实现了。之前一直盼望着盼望着,给自己许诺要是实现了就奖励自己报名学游泳。...
    by小微阅读 469评论 0 0

友情链接更多精彩内容