当我们雇佣了一名刚毕业的学生后,我们对他工作中需要的技能进行了培训,主要是JavaScript、CSS和HTML。然后我们给他布置了一个小项目,来看看他学到多少并且如何自由通过各种途径(如项目组其他成员、书籍、因特网等)查找资料。
这个项目是设计一个单独基于Web的经典Windows扫雷游戏。作为他的导师,我也开发了一个指导性版本,这样我才能和他解决出现的问题,并对他提交的最终版本进行评估并提供反馈。本文论述了此项目的具体实现。
扫雷是种非常简单的游戏——在一块平板上随机布有已知数量的地雷,要求游戏者在不踩到地雷的前提下在最短时间内找出所有地雷。当你点击一个方块时,所点方块显示有多少地雷在毗邻的方块中,由此对扫除过程提供帮助。如果一个也没有,程序由当前区域向外扩展,直到找到一个在每个方向都至少有一个地雷相邻的方块。
我决定使用含DIV元素的表格创建游戏平板。每一个元素被唯一的确定坐标。我以前为一个JavaScript游戏国际象棋写过平板产生函数,因此可以重用这段代码。但扫雷的平板是可变尺寸,所以我增加了两个用户可修改的变量以定义平板边界。此函数源代码请阅列表。
此函数相当简单明了。首先我们初始化变量int_cellNo来保存已创建的方块总数。然后我们写入表格标签初始值并进入循环以创建每一行。每行中的每个表格单元有唯一的名称和坐标,每个单元含有一个单独的DIV元素。行数和列数由变量int_rows和int_columns的值分别确定。这个示例显示了以上函数的执行结果,并由此得到了平板的初始状态。