Pytris (Python, Anton Sidorov, 2020)

来自俄罗斯方块中文维基
Pytris
开发 Anton Sidorov
游戏平台 Python(Pygame、numpy、enum)
发行时间 2020年11月1日
最新版本 v0.016(2020年11月3日)
游戏信息
预览块数 0
场地大小 10 × 20
暂存块
硬降
旋转系统 专用
[[文件:|125px]]
Pytris (Python, Anton Sidorov, 2020) ingame.png

Pytris 是一款 Python 四连方块游戏。
该游戏用黑白色块模拟了俄罗斯方块的最基本玩法。
该游戏的安装版不能直接游戏,需要手调两处代码(见第四章)。

玩法

消行。
虽然 __init__.py 有得分表,但是游戏的主窗口仅显示场地。
死亡判定:部分锁定死亡
触发死亡时,游戏程序结束。

操作

A/D 横移,Q 逆时针旋转,E 顺时针旋转,X 硬降。
这五个操作都能跨块长按,分优先级,顺序为:横移 > 旋转 > 硬降。
起手是旋转的长按可以插入横移操作,反之则不行;
旋转或横移长按期间硬降无效,重力减小。

方块环境配置

黑场白块。

2234
2X34
3334
4444

方块入场时横坐标随机,各碰撞箱的相对位置关系如上图所示。
其中,X 格的纵坐标为 21。
下图是各方块的入场朝向,每次旋转将碰撞箱内容旋转 90 度:

QQ
QQ
Tet.pngTet.pngTet.pngTet.png
QQQQ
Tet.pngTet.pngTet.pngTet.png
Tet.pngTet.pngTet.pngTet.png
QTet.pngTet.png
QQQ
Tet.pngTet.pngTet.png
Tet.pngTet.pngQ
QQQ
Tet.pngTet.pngTet.png
Tet.pngQTet.png
QQQ
Tet.pngTet.pngTet.png
Tet.pngQQ
QQTet.png
Tet.pngTet.pngTet.png
QQTet.png
Tet.pngQQ
Tet.pngTet.pngTet.png

Pytris (Python, Anton Sidorov, 2020) 有 1–2 格的左右踢墙。
具体的偏移计算结果见 calculations.py,分超多情况讨论。

手调两处代码

首先,将 tetris.py 移至 src 目录。
一、tetris.py:第 3 行只留 Tetris,不要 Move,然后加一行

from pytris.misc import Move

二、misc.py:第 29 行 class Move(Enum) 下面加一行

N = 0

外链