前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >告别手动模式,Python实现自动化,玩俄罗斯方块小游戏

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

原创
作者头像
他说Python
修改2020-12-04 17:33:47
1.2K0
修改2020-12-04 17:33:47
举报
文章被收录于专栏:Python技术文章Python技术文章

开发工具

Python版本:3.6.4

相关模块:

pyqt5模块;

以及一些Python自带的模块。

环境搭建

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

俄罗斯方块
俄罗斯方块

原理简介

AI实现

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

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

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

代码实现如下:

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 开发工具
  • 环境搭建
  • 原理简介
    • AI实现
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档