VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • 这个Python自动扫雷算法写完了,估计看懂的人十不存一了吧

效果

 

 

 

闲来无事,打开虚拟机上的扫雷玩了玩,觉得自己计算很浪费时间,还容易遗漏,就做了个自动扫雷。
简单模式下很容易通关,困难的就看脸了,感兴趣的可以拿去运行一下。
自动化处理核心代码段在 168~273行。

复制代码
很多人学习蟒蛇,不知道从何学起。

很多人学习python,掌握了基本语法之后,不知道在哪里寻找案例上手。

很多已经可能案例的人,却不知道如何去学习更多高深的知识。

那么针对这三类人,我给大家提供一个好的学习平台,免费获取视频教程,电子书,以及课程的源代码!

QQ群:101677771

欢迎加入,一起讨论一起学习
复制代码

 

 

次日,发现自动扫雷算法并不完整,上次的代码仅对单个数字周围进行判断。
但在一些情况下,单个数字无法判断,要综合一片小区域确定某些方块是否一定是炸弹,或者一定安全。
暂且称为高级算法。(并不是算法有多高级,本质上还是取集合(区域),进行大量的判断,难在复杂判断的逻辑关系以及集合、字典的操作上)。
通过半天的归纳总结,找到规律后开始设计代码。

 

**本次修改还优化了输出格式,使得在大区域下更容易确定方块的坐标。**

 

  • 【代码中一些重复的地方可以提取出来作为单独的方法,通过改变参数位置来实现相同的功能,让代码看上去更精简】
  • 【但长时间的修改代码,随着变量、变量类型、数据结构嵌套和逻辑关系的不断增加,有点被搞得头晕了】
  • 【所以既然运行上没有错误,多次试验也没有发现毛病,就不去管它了。说不定也是靠着什么bug运行起来了呢】
  • 【事实上最初写出来的高级算法代码还多了一个子模块,这个模块在一次高级算法结束之后进行进一步处理】
  • 【在设计算法的时候,考虑到这样能减少遍历游戏窗口的次数,加快运行速度,并且可以确定更多的更复杂的坐标及操作】
  • 【虽然写好代码之后第一次运行全自动困难模式顺利通关,但在后来的几次测试中总会错把炸弹点开

相关教程