# smart-snake **Repository Path**: gametop/smart-snake ## Basic Information - **Project Name**: smart-snake - **Description**: 研究贪食蛇吃满迷宫算法 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 11 - **Forks**: 6 - **Created**: 2016-11-22 - **Last Updated**: 2022-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # smart-snake java写的贪食蛇游戏,研究吃满空间的算法。 ## 算法原理 我们平时玩贪食蛇,一般策略都是看到苹果就直接去吃(保证人没有失误的情况下),但是这样几个回合下来,会把自己绕的无路可走,比如走到死胡同里,蛇身体挡住了生路 我们现在换个策略,让蛇吃苹果之前,看看蛇吃了苹果后会不会走到死胡同,如果会走到死胡同,则让蛇不要去吃苹果,而是让蛇把身体盘起来,直到可以吃苹果时不会走进死胡同。 蛇身体盘起来的算法是 让蛇走离蛇尾最远的点(通过BFS算法找到蛇头周围点离蛇尾的距离,取最远的点) ## 编译打包 ``` ./gradlew clean dist ``` ## 如何运行 jdk版本大于等于jdk17 ``` cd ./desktop/build/libs/ java -jar .\desktop-1.0.jar ```