运维开发网

Python自动玩俄罗斯方块小游戏

运维开发网 https://www.qedev.com 2020-11-29 08:32 出处:51CTO 作者:他说Python
开发工具Python版本:3.6.4相关模块:pyqt5模块;以及一些Python自带的模块。环境搭建安装Python并添加到环境变量,pip安装需要的相关模块即可。原理简介AI实现算法比较简单(就是low),基本思想就是遍历当前可操作的俄罗斯方块和下一个可操作的俄罗斯方块(根据不同的策略,即选择不同的位置和旋转角度)下落到底部后组成的所有可能的未来场景,从这些未来场景中选择一个最优的,其对应的当

开发工具

Python版本:3.6.4

相关模块:

pyqt5模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

Python自动玩俄罗斯方块小游戏

原理简介

AI实现

算法比较简单(就是low),基本思想就是遍历当前可操作的俄罗斯方块和下一个可操作的俄罗斯方块(根据不同的策略,即选择不同的位置和旋转角度)下落到底部后组成的所有可能的未来场景,从这些未来场景中选择一个最优的,其对应的当前可操作的俄罗斯方块的行动策略即为当前解,具体的代码实现如下:

image

未来场景优劣评定考虑的因素有:

  1. 可消除的行数;

  2. 堆积后的俄罗斯方块内的虚洞数量;

  3. 堆积后的俄罗斯方块内的小方块数量;

  4. 堆积后的俄罗斯方块的最高点;

  5. 堆积后的俄罗斯方块的高度(每一列都有一个高度)标准差;

  6. 堆积后的俄罗斯方块的高度一阶前向差分;

  7. 堆积后的俄罗斯方块的高度一阶前向差分的标准差;

  8. 堆积后的俄罗斯方块的最高点和最低点之差。

代码实现如下:

Python自动玩俄罗斯方块小游戏

That's all!完整源代码详见相关文件。

0

精彩评论

暂无评论...
验证码 换一张
取 消