Pytris (Python, Alex Trofymenko, 2013)

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

Pytris 是一款 Python 四连方块游戏。
该游戏是一门开放课程的最终项目,实践主题为实现俄罗斯方块的玩法。
该游戏满足了项目的部分要求。

玩法

得分。
消一 100 分,消二 400 分,消三 900 分,消四 1600 分。
死亡判定:重叠死亡

操作

左右键横移,上键逆时针旋转,下键软降,空格键硬降。
这五种操作均可独立长按,新操作会打断旧长按。
该游戏使用实心天花板,方块需要适当降落才能开始旋转。

方块环境配置

O 红色,I 蓝色,J 橙色,L 水色,T 黄色,S 绿色,Z 洋红色。

Tet.pngTet.pngTet.pngTet.pngTet.png4333Tet.png
Tet.pngTet.pngTet.pngTet.pngTet.png42X3Tet.png
Tet.pngTet.pngTet.pngTet.pngTet.png4223Tet.png
Tet.pngTet.pngTet.pngTet.pngTet.png4444Tet.png

碰撞箱的入场位置如上图所示。
其中,X 格坐标为 (8,20)。
以下图组中,每一组的最左图是入场朝向,右图是依次逆时针旋转的朝向:

ZZ
ZZ
Tet.pngTet.pngTet.pngTet.png
JJJJ
Tet.pngTet.pngTet.pngTet.png
Tet.pngTet.pngTet.pngTet.png
Tet.pngTet.pngJTet.png
Tet.pngTet.pngJTet.png
Tet.pngTet.pngJTet.png
Tet.pngTet.pngJTet.png
Tet.pngTet.pngTet.png
LLL
Tet.pngTet.pngL
Tet.pngLL
Tet.pngLTet.png
Tet.pngLTet.png
LTet.pngTet.png
LLL
Tet.pngTet.pngTet.png
Tet.pngLTet.png
Tet.pngLTet.png
LLTet.png
Tet.pngTet.pngTet.png
III
ITet.pngTet.png
Tet.pngITet.png
Tet.pngITet.png
Tet.pngII
Tet.pngTet.pngI
III
Tet.pngTet.pngTet.png
IITet.png
Tet.pngITet.png
Tet.pngITet.png
Tet.pngOTet.png
OOO
Tet.pngTet.pngTet.png
Tet.pngOTet.png
OOTet.png
Tet.pngOTet.png
Tet.pngTet.pngTet.png
OOO
Tet.pngOTet.png
Tet.pngOTet.png
Tet.pngOO
Tet.pngOTet.png
Tet.pngTet.pngTet.png
Tet.pngSS
SSTet.png
STet.pngTet.png
SSTet.png
Tet.pngSTet.png
Tet.pngTet.pngTet.png
StaxLStaxLTet.png
Tet.pngStaxLStaxL
Tet.pngStaxLTet.png
StaxLStaxLTet.png
StaxLTet.pngTet.png

Pytris (Python, Alex Trofymenko, 2013) 没有踢墙。

其他说明

该游戏使用 Python2 的 Tkinter 模块[注 1],而且 print、raise 和 setPixel 语句遵循 Python2 的用法。
Python3 默认移除了 Python2 的 exceptions 模块。
要想用 Python3 运行游戏,就要:

  • 把 graphics.py 第 130、131 行的 Tkinter 改成 tkinter
  • 把 pytris.py 第 432 行的 print 后面的“row”用小括号括起来
  • 把 graphics.py 代码部分的 12 处 raise 后面的内容用小括号括起来
  • 把 graphics.py 第 793 行的 (r,g,b) 的小括号去掉
  • 最后删除 graphics.py 第 134–151 行、第 381–384 行

注释

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

外链