简介 目录 评价 推荐
  • 落婲紛紛 2018-02-06
    二叉树与这个游戏之间有什么关系,没看懂
    已采纳 ruibin 的回答

    主要是用到了二叉树的生成和查找。

    1回答·1546浏览
  • IT深水坑 2017-10-20
    没有源码可供参考吗?

    笔记代码:
    https://github.com/capricorncd/blog/tree/master/Demos/games/aliens
    还没吃透,所有有时间再优化一下和注释一下 ....Orz
    不能访问点这里: https://github.com/capricorncd/blog

    3回答·1282浏览
  • Qzhor 2017-10-06
    数组怎么绑的selected属性?Node里面多了一个selected属性?
    1. BinaryTree()构造函数里面确实给node增加了一个属性:node.selected;

      并且应该注意到:对于search()方法,在找到之后返回的是找到的节点,即return node;

    2. 存储外星人横坐标的数组为var nodesForAlien[]。其中每一个元素的构造(以第i个为例)为:
      nodesForAlien[i] = { key: val, selected: false};

    3. 其中key的值,可以随机产生:key = Math.floor(Math.random() *280);

    4. 数据源导入到二叉树的做法

    • 生成完整的nodesForAlien[]数组,你可以数组长度随意设置。结构就如上面说的那样。

    • 生成构造函数的实例var binaryTree = new BinaryTree();注意这里的正如上面提到过的,这里的构造函数给node增加了新的属性。

    • 接下来就可以进行插入、查询等操作了。这些之前的课里面有讲过。

       5. 注意到代码里面的return search()操作,返回的是一个二叉树节点,相比原先构造的数组元素显然多了两个left和right属性,不过JS是弱类型的,所以没什么影响。

    1回答·1456浏览
数据加载中...
开始学习 免费