- 设置运行标志为1
- 显示计时控制器(通过显示/隐藏计时控制器来计时,显示后等待1秒钟再隐藏,隐藏事件里再显示,达到循环计时的目的)
- 禁用“开始”按钮
- 设置“开始”按钮的文字内容为“正在游戏…”
- 隐藏mask(mask是一个半透明的矩形框,目的是防止用户在点击开始按钮前就翻牌)
- 标记中继器所有行,用来下一步删除操作
- 删除中继器中所有标记的行
- 添加16条数据,内容如下:
注意rnd字段的值为[[Math.random()]],获取一个0~1之间的随机数。key为1~8,每个数字分别有两个,selected默认为“0”,img这里暂未用上,如果使用配对图片可以用此属性。
9)给当前中继器添加排序,因为rnd本身就是随机的,排序后这样就会让1~8几个数字出现在中继器里的随机位置,其实就是打乱1~8这几个数字。
2、中继器事件
中继器每项加载事件
1)如果中继器的selected值等于1则设置为状态2(显示实际数字),设置正方形文字内容为当前的数字。
2)如果中继器的selected值等于0则设置为状态1(显示问号),设置正方形文字内容为当前的数字。
下面就是中继器里每一个正方形动态面板在被单击时的事件处理了,这是逻辑处理的重点。
- 开始计数
- 标记当前数据
- 切换状态,先显示一下当前牌对应的数字
- 步数 1
- 将步数显示在txtSteps文本标签上
- 触发控制器control1的单击事件,这里非常重要,是实现多个条件分支处理的重要技巧,control1是一个热区(不可见),借用它来处理事件分支,相当于函数调用。
继续看control11中的事件处理: