首页 相关文章 扫雷外挂的设计与实现(五)

扫雷外挂的设计与实现(五)

  如前所述,算法层的实现,不外乎两种操作:1。如果一个方块的数值等于周围未挖开的方块数目,则把周围所有方块标记为雷;2。如果一个方块的数值等于周围已经标记为雷的方块个数,则在该块上同时单击左右键。实际上,这只是最简单的两种判断(简单到甚至不该称之为“判断”,而只是例行公事而已),而比这更复杂的分析判断还可以有很多,但现在我们追求的是程序的简单易懂,而且,就这两种最简单的判断,已经可以达到很好的效果了,在实际中它们绝对占到了扫雷所用时间的一大多半。更高级的判断,在扫雷外挂的0.2版本里也已经实现了,但在此处若要加以叙述,不免还要大幅增加篇幅。

  就来看这个最简单的算法:

  =================================================================

  //根据Cells中的数据进行判断,把适当的操作填入Operations中
  procedure AnalyzeCells;
  var
   i, j: Integer;
   neighborCount: Integer; //保存一个方块周围未挖开的方块的数目
  begin
 ...[ 查看全文 ]

2016-02-19 标签:

扫雷外挂的设计与实现(五)的相关文章

手机页面
收藏网站 回到头部