智能蛇
智能蛇是在字符游戏贪吃蛇基础上进行改动的,字符蛇可以不用玩家输入WASD,可以自己寻找食物,并且避免迟到墙壁和自己,为了测试智能蛇的智能化程度,我也对地图进行了一些调整,添加了一些障碍物。
针对智能蛇进行的改动
与贪吃蛇相比,智能蛇最大的区别就是要做到自动寻找食物,并且不会自杀。因此我取消了字符输入,改称判断蛇头的周围四个位置与金币的距离,其中选取最短的一个位置移动到那里,注意,只有当那个位置不是*和X的时候蛇才会进行移动。
学习心得
智能蛇第一次让我意识到机器是如何对外部环境进行感知的,大体是对可能路径逐个模拟,选取最优的一条,在这个过程中,利用递归函数应该比我这种直接求DISTANCE的最小值来的更快一些,但是苦于目前的算法知识,还不能很好的实现它。智能蛇的学习过程让我意识到了我的不足,有些同学在讨论有BFS求最短路的时候,我只能应用简单的距离判断来寻找最短路,不过这也更加激发了我深入算法学习的决心,争取将空闲学习时间来进行算法竞赛,工程能力的提升,提高自己的代码水平。
此次智能蛇与贪吃蛇给我带来的启示
这次的项目让我第一次没有使用现成工具制作游戏,这次的游戏制作也让我第一次意识到从0到1是多么困难也是多么有意义。让我第一次拥有了游戏制作的感觉,虽然我用的是面向过程的C语言,但是我从这次游戏制作的过程中也领悟到了面向对象的精髓。智能蛇的编写也让我第一次意识到最优化在AI领域的应用,让我对智能这一名词有了更为深刻的理解。希望在以后的学习生活中,我能更加好的学习相关知识,不断提高代码水平,成为一名优秀的软件工程师。