1

背景

本系列文章,使用Python3一步步记录Tetris游戏的编写全过程,游戏功能包括手动游戏、游戏回放(数据库操作)、自动游戏(AI机器人)、强化学习、优化AI机器人。已经完成C++版本,Qt5之QGraphicsItem编写Tetris俄罗斯方块游戏

规划

设计思路

该游戏尽量不使用第三方库,主要注重算法,因此界面库选择python内置的tkinter。设计思想也采用传统的方式,用一个二维数组来控制游戏空间,类似迷宫的方式。选择这种方式有一个好处是,游戏的数据直观存在,容易获取。

效果图

游戏空间大小

10 x 20

得分设计:
  • 消一层得一分
  • 消二层得三分
  • 消三层得七分
  • 消四层得十分
控制键位
  • 方向上键 : 旋转
  • 方向左键 : 左移
  • 方向右键 : 右移
  • 方向下键 : 下移
  • 空格按键 : 下移到底

项目进度

已经完成手动游戏、游戏回放、简单AI、手动自动随时切换。

项目标签(里程牌)

  • v1.0.1(manual-play) - 手动游戏功能 里程碑版
  • v1.1(auto-play) - 自动游戏功能 里程碑版,发现内存泄漏
  • v1.2(less-block) - 解决内存泄漏

项目地址

https://gitee.com/zhoutk/ptetris
或
https://github.com/zhoutk/ptetris

运行方法

1. install python3, git
2. git clone https://gitee.com/zhoutk/ptetris (or download and unzip source code)
3. cd ptetris
4. python3 tetris

This project surpport windows, linux, macOs

on linux, you must install tkinter first, use this command:  
sudo apt install python3-tk

相关项目

已经实现了C++版,项目地址:

https://gitee.com/zhoutk/qtetris

zhoutk
2.6k 声望1.2k 粉丝

自由程序员,技术路线c,delphi,c++,c#,java,php,node.js,python,golang,typescript;超喜欢react.js的设计思路,全栈开发成为我的终极目标。开发机器macbook pro,或装ubuntu、fedora的机器,编程用vim...