熄灯游戏

学习了一点js,随手写点东西玩玩。

其实这也算不得什么“游戏开发”,只不过是见到过的一个游戏自己写了一个copy。

照惯例,代码挂在github上面(这里),预览

话说那个游戏的攻略还是解方程算出来的。

下面是一些废话。

游戏大致控制是用document.onkeydown=updatec.onmousedown=function(e){}来接收输入,在一次灯光状态的更新后重绘canvas。

后来写了个宽度自适应,这样来实现:

var c = document.getElementById("mainCanvas");
var ctx = c.getContext("2d");
var block = (c.parentElement.clientWidth < 500 ? c.parentElement.clientWidth : 500) / 5;
c.setAttribute("width", (block*5) + "px");
c.setAttribute("height", (block*5) + "px");

新学到的东西有这么一些:

  • 由于数组是引用(对象都是引用),不能直接比较,但可以比较toString()返回的值。
  • break好像不能退出外层的if
  • ctx.globalAlpha设置canvas绘画透明值。