Pytris (Python, dan63047, 2021)

来自俄罗斯方块中文维基
Pytris (Python, dan63047, 2021)
游戏信息
开发 dan63047
游戏平台 Python(Pygame)
发行时间 2021年5月23日
最新版本 第五轮提交(2022年1月20日)
游戏机制
场地大小 10 × 20 +20
预览数量 1(经典)
4(现代)
降落(现代)
暂存(现代)
旋转系统 右手 NRS·仿(经典)
SRS(现代)
游戏画面
Pytris (Python, dan63047, 2022) title.png
Pytris (Python, dan63047, 2022) ingame.png

Pytris 是一个 Python 四连方块游戏。
该游戏模拟经典 NES 和现代 SRS 方块的规则,提供四个模式。

玩法

规则二选一(经典 NES、现代 SRS),模式四选一。
模式一:无尽生存(0–30 级)。
模式二:限时游戏(2/3/5/10/30/60/1440 分钟)。
模式三:消足行数(40/80/120/150/300/500/1000 行)。
模式四:人机对战(第五版本 AI 已做但未启用)。
模式五:人机比分(第五版本尚未启用)。

死亡判定:新方块入场时,有砖格紧贴任一方格的右侧。[注 1]

经典

软降每格 1 分。
底分:消一 40 分,消二 100 分,消三 300 分,消四 1200 分。
消行得分 = 底分 × (等级 + 1),括号内的翻倍数最大取到 30。
开局 0 级,重力和升级情况都和 Tetris (NES, Nintendo) 一样。
经典模式专门显示消四相关行数在总消行数中的构成比。

现代

1 2 3 4 T0 T1 T2 T3
 底分  100 300 500 800 400 800  1200  1600
攻击 0 1 2 4 0 2 4 6
 1 全清  2 全清   3 全清   4 全清   Mini T0   Mini T1   Mini T2  B2B[注 2]
底分 800 1200 1800 2000 100 200 400  ×1.5[注 3]
攻击 10 11 12 14 0 0 1 +1
连击底分 = N × 50,连击攻击 = int(N / 3) + 1,软降每格 1 分,硬降每格 2 分

开局 1 级,每消十行升一级,消行得分 = 底分 × 等级。
重力 G = 0.016666 / (0.8 - ((等级 - 1) × 0.007))(等级 - 1)(最大取到 20)。
现代模式专门显示 PPS

操作

左右键横移,Z 逆时针旋转,X 或上键顺时针旋转,下键软降,空格键硬降,C 暂存。
横移和软降可以叠加长按,可跨块,中间可插入其他单点操作。
经典规则参数:DAS = 0.267 秒,ARR = 0.1 秒。
现代规则参数:DAS = 0.167 秒,ARR = 0.033 秒。
锁定延迟参数:前二十级 = 30 帧,后十级 = (90 - 等级 × 3) 帧。
P 暂停,R 重开。[注 4]
主界面操作:上下左右、回车键。

方块环境配置

经典:仿右手 NRS[注 5] + 无踢墙 + 无硬降 + 不重置锁定延迟 + 1 Next + 近 43 亿序列种子[注 6]
现代:SRS + 配套踢墙 + 标准入场位置[注 7] + 硬降 + 15 次运动重置锁定延迟 + 4 Next + 7-Bag + 暂存块 + 阴影块

方块全是 SRS 配色,其中阴影块使用 Tetris (Game Boy) 的 J/S 块风格。
T-Spin 使用三角判定法,Mini 多两个判定条件:角空和尖格相邻,踢墙偏移值不是第五项。

注释

  1. 例一:方块入场时,各行仅最左格和方块堆重叠,不会死。
    例二:c4w 的方块堆占据 (8,21) 这一格后,I 入场瞬间死亡。
  2. 不消行,就没有加成
  3. 唯一例外:B2B4 全清是 ×1.6
  4. 这两个键也可长按
  5. 和右手 NRS 有两点区别:OJLTSZ 碰撞箱入场位置偏高两行、偏左一列,SZ 横状态在碰撞箱内高一格。
  6. seed = random.randint(-2147483648, 2147483647)
  7. 第 21、22 行最中间的 4×2 区域

外链