Pytris (Python, Anton Sidorov, 2020)
Pytris | |
---|---|
开发 | Anton Sidorov |
游戏平台 | Python(Pygame、numpy、enum) |
发行时间 | 2020年11月1日 |
最新版本 | v0.016(2020年11月3日) |
游戏信息 | |
预览块数 | 0 |
场地大小 | 10 × 20 |
暂存块 | 无 |
硬降 | 有 |
旋转系统 | 专用 |
| |
| |
|
Pytris 是一款 Python 四连方块游戏。
该游戏用黑白色块模拟了俄罗斯方块的最基本玩法。
该游戏的安装版不能直接游戏,需要手调两处代码(见第四章)。
玩法
消行。
虽然 __init__.py 有得分表,但是游戏的主窗口仅显示场地。
死亡判定:部分锁定死亡。
触发死亡时,游戏程序结束。
操作
A/D 横移,Q 逆时针旋转,E 顺时针旋转,X 硬降。
这五个操作都能跨块长按,分优先级,顺序为:横移 > 旋转 > 硬降。
起手是旋转的长按可以插入横移操作,反之则不行;
旋转或横移长按期间硬降无效,重力减小。
方块环境配置
黑场白块。
|
方块入场时横坐标随机,各碰撞箱的相对位置关系如上图所示。
其中,X 格的纵坐标为 21。
下图是各方块的入场朝向,每次旋转将碰撞箱内容旋转 90 度:
|
|
|
|
|
|
|
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