Pytris (Python, dyad10, 2012)

来自俄罗斯方块中文维基
Pytris
开发 dyad10
游戏平台 Python(Tkinter、numpy)
发行时间 2012年4月8日
游戏信息
预览块数 1
场地大小 20 × 16
暂存
硬降
旋转系统 专用
[[文件:|125px]]
Pytris (Python, dyad10, 2012) ingame.png

Pytris 是一款 Python 四连方块游戏。
目前,该游戏仍是未完成版,只有 IJLT 四种方块。

玩法

消行、得分。
放置方块的得分由行位高度和旋转状态决定,但不在游戏中累加显示。
死亡判定:重叠死亡
触发死亡后,游戏仍然继续,但所有操作都没有用,也不会生成新方块。

操作

左右键横移,上键逆时针旋转,下键顺时针旋转,空格键硬降。
这五个操作均可独立长按,新操作会打断旧长按。

方块环境配置

I 红色,J、L、T 四色(绿黄橙红)。

Tet.pngTet.pngTet.pngTet.png1111Tet.pngTet.png
Tet.pngTet.png224441Tet.pngTet.png
Tet.pngTet.png22X441Tet.pngTet.png
Tet.pngTet.png224441Tet.pngTet.png
Tet.pngTet.png22333Tet.pngTet.pngTet.png

将这四种方块按 1–4 编号,四种碰撞箱的入场位置就如上图所示。
其中,X 格坐标为 (11,15),它是红色方格的入场焦点
以下图组中,每一组的最左图是入场朝向,右图是依次逆时针旋转的朝向:

Tet.pngTet.pngTet.pngTet.png
Tet.pngTet.pngTet.pngTet.png
ZZZZ
Tet.pngTet.pngTet.pngTet.png
Tet.pngTet.pngZTet.png
Tet.pngTet.pngZTet.png
Tet.pngTet.pngZTet.png
Tet.pngTet.pngZTet.png
Tet.pngTet.pngTet.pngTet.png
Tet.pngTet.pngZTet.png
Tet.pngTet.pngLTet.png
Tet.pngSOTet.png
Tet.pngTet.pngTet.pngTet.png
Tet.pngTet.pngTet.pngTet.png
ZLOTet.png
Tet.pngTet.pngSTet.png
Tet.pngTet.pngTet.pngTet.png
Tet.pngOSTet.png
Tet.pngLTet.pngTet.png
Tet.pngZTet.pngTet.png
Tet.pngTet.pngTet.pngTet.png
Tet.pngSTet.pngTet.png
Tet.pngOLZ
Tet.pngTet.pngTet.pngTet.png
ZTet.pngTet.png
LTet.pngTet.png
OSTet.png
Tet.pngTet.pngS
ZLO
Tet.pngTet.pngTet.png
Tet.pngSO
Tet.pngTet.pngL
Tet.pngTet.pngZ
Tet.pngTet.pngTet.png
OLZ
STet.pngTet.png
Tet.pngOTet.png
ZLS
Tet.pngTet.pngTet.png
Tet.pngSTet.png
OLTet.png
Tet.pngZTet.png
SLZ
Tet.pngOTet.png
Tet.pngTet.pngTet.png
Tet.pngZTet.png
Tet.pngLO
Tet.pngSTet.png

Pytris (Python, dyad10, 2012) 没有踢墙

其他说明

该游戏使用 Python2 的 Tkinter 模块[注 1],而且 print 和 is 语句遵循 Python2 的用法。
该游戏在需要使用整数型数据的 range 函数中使用了普通除法,这在 Python3 环境中会得到浮点型数据,导致游戏报错。
要想用 Python3 运行游戏,就要对 pytris.py 做出以下改动:

  • 把第 2、3 行的 Tkinter 改成 tkinter
  • 把第 140、142、588 行的除号改成双除号
  • 把 40 处 print 后的内容全用小括号括起来
  • 把 26 处 is 全改成“==”

注释

  1. 该模块在 Python3 开头是小写的

外链