BCTetris (Python, 2010)
本条目介绍的内容不是官方的俄罗斯方块游戏。 这个游戏模拟了俄罗斯方块的玩法,在名称中使用了「Tetris」或「俄罗斯方块」,但没有经过俄罗斯方块公司官方授权。 |
2010 年,josmiley 完成过四个 Python 方块游戏的制作,BCTetris 是知名度最高的一个。 另外三作使用的名称分别是 tetrix、tetriz 和 tetrisdz。 这四个游戏的代码量都不大,有较为密切的制作关联,本条目将其合并介绍。 |
BCTetris | |
---|---|
开发 | josmiley |
游戏平台 | Python(Pygame) |
发行时间 | 2010年5月3日 |
游戏信息 | |
预览块数 | 0 |
场地大小 | 10 × 20 |
暂存块 | 无 |
硬降 | 无 |
旋转系统 | 专用 |
| |
| |
|
BCTetris 是一个 Python 四连方块游戏。
该游戏是一个“啃字节”(Byte-crunching)方块游戏,主文件容量不足 1KB。
第一版 BCTetris 容量为 757 字节,第五版 717 字节。
玩法
消行。
死亡判定:锁定死亡。
这个游戏开局必是 Z,之后的块序由历史摆块位置算出。
受这一计算的影响,这个游戏很容易崩溃不动。
操作
左右键横移,上键顺时针旋转,下键软降一格。
这四个操作都只能单点,键盘上存有许多同功能的键(此处不赘述)。
方块环境配置
黑场白块。
|
各范围框的入场位置如上图所示。
其中,X 格坐标为 (6,21)。
以下图组中,每一组的最左图取贴底的朝向,右图是依次顺时针旋转的朝向:
(此处用灰色表示方格,以便于辨认)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BCTetris (Python, 2010) 没有踢墙。
代码展示
代码作者:josmiley
编程语言:Python
需要模块:早期(如 1.9.2 cp27)版本 pygame
from pygame import*;D,b,u=display,list(bin(256)),'1';X=D.set_mode((160,320)).fill;E,l,F,S,p=enumerate,b*25+list(bin(2047)),[list(bin(int(x,36)).zfill(57))for x in'9hf 2i136 9hf 2i136 4qr 4qr 4qr 4qr 1l3 4zvur b2c 7hqm9 35z 4zxfm b2a 2i135 f 7w9g3r6 f fsiw7ic 4qu 4zxfl 4qu 4zxfl 2hxxf 6br 7hs76 b29'.split()],252,3 while p>2: p,d,f,S=-3,0,p%28,S-2;time.set_timer(2,S) while d-11: for e in event.get(2): e=e.key;d,r=(11,-1,0,11,1)[(e&3)+(e>0)],f/4*4+(f+(e==273))%4;z=zip(l[p+d:],F[r]+[0]*230) if not(u,u)in z:p+=d;f,d=r,0;[X(-(u in j),((p+i-58)%11*16,(p+i-58)/11*16,16,16))for i,j in E(z)];D.flip() for i,j in E(F[f]): if j==u:l[p+i]=u for i in range(3,278,11): if l[i:i+10]==10*[u]:l=b+l[:i]+l[i+11:]
另外三作
- 图一:Tetrix(2010 年 4 月 15 日)。
每放 10 个方块升级一次速度,消行按平方给分(1、4、9、16)。
按键的敏感度偏高,单点旋转容易过头,需要小心。
这个版本是最早的,却也是唯一不直接按老版 pygame 的事件(event)语句来使用 key 的。
(用新版 Pygame 模块也能顺利运行) - 图二:Tetriz(2010 年 4 月 20 日,v3.1)。
也是啃字节方块,在 pygame 网站上的题目意为“16 行代码的方块”,主文件容量 2165 字节。
这个版本容量比 BCTetris 大很多,但不会有游戏崩溃问题。
每放 1 个方块加 1 点速度,得分等于总消行数,消 n 行减 n 点速度。
常规操作风格保持不变,但是软降的 ARR 极短,需要小心。 - 图三:Tetrisdz(2010 年 11 月 13 日)。
每消 10 行升级一次速度,消行按平方和给分(1、5、14、30)。
这个版本将游戏重点从啃字节转回了方块游戏本身,升级和难度的变化更贴近传统方块,按键敏感度降回正常水平。
这个版本没有专门在 pygame 网站上发出。
外链
- 互联网档案馆:BCTetris.py 原址(归档时间:2010 年 9 月 24 日)
其上级域名的 2012 年存档保留了另外三个 Python 方块和更多 Python 游戏的文件。 - BCTetris 的 pygame 页面