Pytris (Python, Marlon Gamez, 2019)

来自俄罗斯方块中文维基
Pytris
开发 Marlon Gamez
游戏平台 Python(enum、queue)
发行时间 2019年10月22日
游戏信息
预览块数 0
场地大小 10 × 22
暂存块
硬降
旋转系统 专用
[[文件:|125px]]
Pytris (Python, Marlon Gamez, 2019) ingame.png

Pytris 是一款 Python 四连方块游戏。
该游戏在命令行环境模拟俄罗斯方块的玩法,输入简单的指令控制方块。
该游戏消行的后续处理有一处较为严重的问题。

玩法

消行。
方块不会自动降落,只能用下移指令手动降落。
方块入场时,被重叠的砖格会消失,所以这个游戏是不会死亡的。
不过,横移方块必须目标位置全空才能成功,“重叠死亡”的情形通常无法继续。

操作

a/d 横移一格,e 顺时针旋转,q 逆时针旋转,s 下移一格。
每次在命令行输入相应的单个小写字母[注 1]后,都要接一次回车键执行操作。
方块接地时执行 s 是锁定。

方块环境配置

数字 0–6 分别表示 IOJLSZT。

Tet.pngTet.pngTet.png55555Tet.pngTet.png
Tet.pngTet.pngTet.png53225Tet.pngTet.png
Tet.pngTet.pngTet.png53X25Tet.pngTet.png
Tet.pngTet.pngTet.png53335Tet.pngTet.png
Tet.pngTet.pngTet.png55555Tet.pngTet.png

碰撞箱的入场位置如上图所示。
其中,X 格坐标为 (6,21)。
下图是各方块的入场朝向,每次旋转将碰撞箱内容旋转 90 度:
(J 和 Z 取修复后的入场位置)

Tet.pngTet.pngTet.pngTet.pngTet.png
Tet.pngTet.pngTet.pngTet.pngTet.png
Tet.png0Tet.png0Tet.png0Tet.png0Tet.png
Tet.pngTet.pngTet.pngTet.pngTet.png
Tet.pngTet.pngTet.pngTet.pngTet.png
11
11
2Tet.pngTet.png
222
Tet.pngTet.pngTet.png
Tet.pngTet.png3
333
Tet.pngTet.pngTet.png
Tet.png44
44Tet.png
Tet.pngTet.pngTet.png
55Tet.png
Tet.png55
Tet.pngTet.pngTet.png
Tet.png6Tet.png
666
Tet.pngTet.pngTet.png

Pytris (Python, Marlon Gamez, 2019) 有踢地和左右踢墙。
方块旋转目标位置被挡时,先测踢地,再测左右踢墙,如果都失败,则强取目标位置。[注 2]

其他说明

这个游戏没有 J 和 Z,因为方块初始纵坐标被正转负了。
修复方法:将 tetrimino.py 第 26、32 行中纵坐标的三处 1 改成 -1。
这个游戏表面上是正常消行,实际上每次消行都压缩场地的可用空间。
具体表现:总消行数为 n 时,天花板下方的 n 行区域内的新砖格会向上复制到顶,有实体,不随后续消行减少。
此外,各方块(特别是 I)在左墙附近强取旋转目标位置可部分穿越到场地右侧;
I 向右墙和场底强取越界位时,游戏报错退出。

注释

  1. 区分大小写,必须是小写才有效
  2. 锁定前不覆盖(方块及时移出旋出,则砖格不受影响)。
    存在部分上封系复杂形的例外。

外链