这几节开始了游戏程序设计,都是Windows编程。这部分没有学好,什么设备、资源、消息队列都不清楚。不过其实也没有什么技术含量,熟练工而已,涉及到算法更没啥意思了。书中给出的广度优先算法有点复杂了,其实只要考虑3种情况就可以了:直连、一个折点和两个折点的情况。直接搜索这几种情况就行,而不用像迷宫那用先搜索出路径再判断折点。
扩展问题
1. 维护任意两个格子之间的最短路径,这个想法没啥优点,有了上面的新算法后几乎不需要,而且每次消掉格子后,都要刷新数据,浪费很多空间和CPU时间。
2. 检测曾经出现的状态,需要保存每个步骤,并能逆向执行操作,然后对比就行了。