告别手动模式,Python实现自动化,玩俄罗斯方块小游戏

2020-12-04 17:33:47 浏览数 (2)

开发工具

Python版本:3.6.4

相关模块:

pyqt5模块;

以及一些Python自带的模块。

环境搭建

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

俄罗斯方块俄罗斯方块

原理简介

AI实现

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

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

  1. 可消除的行数;
  2. 堆积后的俄罗斯方块内的虚洞数量;
  3. 堆积后的俄罗斯方块内的小方块数量;
  4. 堆积后的俄罗斯方块的最高点;
  5. 堆积后的俄罗斯方块的高度(每一列都有一个高度)标准差;
  6. 堆积后的俄罗斯方块的高度一阶前向差分;
  7. 堆积后的俄罗斯方块的高度一阶前向差分的标准差;
  8. 堆积后的俄罗斯方块的最高点和最低点之差。

代码实现如下:

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

0 人点赞