演示地址 https://neozhaoliang.github.io/wilson/index.html
代码在 https://github.com/neozhaoliang/pywonderland/tree/master/src/gifmaze/js
这个动画演示的是一个迷宫生成算法,它的特点是在所有迷宫(生成树)里面以相等的概率随机选一个。
我是上周二左右开始看 js 语法的,到了昨晚终于折腾出来了第一个正式的程序,以前有 C 和 Python 的基础,这个程序本身也用 python 实现过,所以对我来说不算很难。主要花的时间在理解 canvas 的 requestAnimationFrame 的调用机制上。
很多人说:一个合格程序员应该具有 xx 天内掌握一门新语言的能力。我感觉这话应该表述为 "应该具有 xx 天内掌握一门新语言的基础语法" 的能力。这个程序踩的坑有:
- 比较两个数组 [0, 1] == [0, 1] 返回的是 false.
- 如果一个变量 a 未初始化则 a == null 返回的是 true. (得用 a === null)
我 debug 的方法也很笨,就是写一个 html 调用这个 js 代码,在代码里面加上很多 console.log 语句,然后在 chrome 的控制台里面查看输出。
