贪吃蛇

首先创造一个游戏引擎构造函数里面有行数列数属性跟一个初始化的方法
初始化方法里创建出table tr td 分别使用for循环来创建出你想要的tr td数量把tr添加到td中td添加到table中table添加到body中
...
var gGameBox = { //游戏引擎
rows:10, //行数

cols:10,    //列数

alltds:[],
kaishi:function(){          //初始化方法
    var oTable = document.createElement("table");   //创建一个table
    for(var i = 0 ; i<gGameBox.rows ; i++){         //创建10个tr
        var oTr = document.createElement("tr");
        var arr = [];                               //创建一个arr空数组
        for(var j = 0 ; j<gGameBox.cols ; j++){     //创建10个td
        var oTd = document.createElement("td");
        oTr.appendChild(oTd);                       //把创建的td放入tr里
        arr.push(oTd);                              //把td添加到arr数组中 
        }
        oTable.appendChild(oTr);                    //把创建的tr放入table
        gGameBox.alltds.push(arr);                  //把arr添加到alltds里 
    }
    document.body.appendChild(oTable);              //把创建的table放入body
}

};

再创建一个开始的构造函数里面有2个属性分别为this.x跟this.y。
在创建的构造函数原型里面添加2个方法一个是蛇出现在游戏中跟随机位置。
再把出现位置里的className修改成一个不同颜色的表示为虫子
随机位置的方法里调用出现在游戏中这个函数。
开始的构造函数中调用随机位置的函数。
这样蛇就会在开始的时候出现之后再改变他的位子。
...
function Food(){ //开始

this.y = 0;     //y坐标 

this.x = 0;     //x坐标
this.gaibian();

}
Food.prototype.chuxian = function(){ //出现在游戏里
gGameBox.allTds[this.y][this.x].className = "chongzi"
}

//改变位子,随机的
Food.prototype.gaibian = function(){
this.x = paseInt(Math.random()* gGameBox.rows);
this.y = paseInt(Math.random()* gGameBox.clos);
this.chuxian();
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 贪吃蛇是众多90后小时候玩过的一款经典手游,但是在程序员眼中则是几页代码的编辑,代码里所涉及的内容也比较简...
    3c58eba4eb74阅读 464评论 0 0
  • 先看继承和冒充;# function a(){};b.prototye= new a()'b 继承a,是可以把a的...
    King小志阅读 293评论 2 2
  • 1.建立三个外接文件,分别是写出游戏引擎、描述食物的、描述蛇的js。 2.在主页面进行游戏的运行。 3.在游戏引擎...
    qzuser_1d64阅读 3,006评论 2 0
  • 定义 游戏引擎 对象 ···var gGameBox = {rows: 20, 行数cols: 20, /...
    向北_f098阅读 95评论 0 0
  • 整体思路 用面向对象的思路写一个贪吃蛇游戏,首先需要找到游戏中的所有对象。在每一个游戏的实现中都会有一个游戏引擎对...
    银河战舰_cc3f阅读 629评论 0 0