python面试之分布式

Python013

python面试之分布式,第1张

主要用于分散压力,所以分布式的服务都是部署在不同的服务器上的,再将服务做集群

根据“分层”的思想进行拆分。

例如,可以将一个项目根据“三层架构” 拆分

然后再分开部署

根据业务进行拆分。

例如,可以根据业务逻辑,将“电商项目”拆分成 “订单项目”、“用户项目”和“秒杀项目” 。显然这三个拆分后的项目,仍然可以作为独立的项目使用。像这种拆分的方法,就成为垂直拆分

主要用于分散能力,主要是将服务的颗粒度尽量细化,且自成一脉,压力这块并不是其关注的点,所以多个微服务是可以部署在同一台服务器上的

微服务可以理解为一种 非常细粒度的垂直拆分 。例如,以上“订单项目”本来就是垂直拆分后的子项目,但实际上“订单项目”还能进一步拆分为“购物项目”、“结算项目”和“售后项目”,如图

现在看图中的“订单项目”,它完全可以作为一个分布式项目的组成元素,但就不适合作为微服务的组成元素了(因为它还能再拆,而微服务应该是不能再拆的“微小”服务,类似于“原子性”)

分布式服务需要提供给别的分布式服务去调用,单独拆出来 未必外部可用

微服务自成一脉,可以系统内部调用,也可以单独提供服务

为什么需要用分布式锁,见下图

变量A存在三个服务器内存中(这个变量A主要体现是在一个类中的一个成员变量,是一个有状态的对象),如果不加任何控制的话,变量A同时都会在分配一块内存,三个请求发过来同时对这个变量操作,显然结果是不对的!即使不是同时发过来,三个请求分别操作三个不同内存区域的数据,变量A之间不存在共享,也不具有可见性,处理的结果也是不对的。

分布式锁应该具备哪些条件:

1、在分布式系统环境下,一个方法在同一时间只能被一个机器的一个线程执行;

2、高可用的获取锁与释放锁;

3、高性能的获取锁与释放锁;

4、具备可重入特性;

5、具备锁失效机制,防止死锁;

6、具备非阻塞锁特性,即没有获取到锁将直接返回获取锁失败

Redis性能高

命令简单,实现方便

使用setnx加锁,key为锁名,value随意不重复就行(一般用uuid)

给锁添加expire时间,超过该时间redis过期(即自动释放锁)

设置获取锁的超时时间,若超过时间,则放弃获取锁

通过锁名获取锁值

比较锁值和当前uuid是否一致,一致则释放锁(通过delete命令删除redis键值对)

2PC:two phase commit protocol,二阶段提交协议,是一种强一致性设计。

同步阻塞(导致长久的资源锁定) ,只有第一阶段全部正常完成(返回失败,回字返回超时都会返回 “准备失败” ),才会进入第二阶段

因为协调者可能会在任意一个时间点(发送准备命令之前,发送准备命令之后,发送回滚事务命令之前,发送回滚事务命令之后,发送提交事务命令之前,发送提交事务命令之后)故障,导致资源阻塞。

T:try,指的是预留,即资源的预留和锁定,注意是预留

C:confirm,指的是确认操作,这一步其实就是真正的执行了

C:cancel,指的是撤销操作,可以理解为把预留阶段的动作撤销了

从思想上看和 2PC 差不多,都是先试探性的执行,如果都可以那就真正的执行,如果不行就回滚。

适用于对实时性要求没那么高的业务场景,如:短信通知

Python在处理功能复用和功能颗粒度划分时采用了类、模块、包的结构。这种处理跟C++中的类和名字空间类似,但更接近于Java所采用的概念。

类的概念在许多语言中出现,很容易理解。它将数据和操作进行封装,以便将来的复用。

模块

模块,在Python可理解为对应于一个文件。在创建了一个脚本文件后,定义了某些函数和变量。你在其他需要这些功能的文件中,导入这模块,就可重用这些函数和变量。一般用module_name.fun_name,和module_name.var_name进行使用。这样的语义用法使模块看起来很像类或者名字空间,可将module_name 理解为名字限定符。模块名就是文件名去掉.py后缀。下面演示了一个简单的例子:

#moduel1.py

def say(word):

    print word

#caller.py

import module1

print __name__

print module1.__name__

module1.say('hello')

$ python caller.py

__main__

module1

hello

例子中演示了从文件中调用模块的方法。这里还展示了一个有趣的模块属性__name__,它的值由Python解释器设定。如果脚本文件是作为主程序调用,其值就设为__main__,如果是作为模块被其他文件导入,它的值就是其文件名。这个属性非常有用,常可用来进行模块内置测试使用,你会经常在一些地方看到类似于下面的写法,这些语句只在作为主程序调用时才被执行。

if __name__ == '__main__':

app = wxapp(0)

app.MainLoop()

模块搜索路径

上面的例子中,当module1被导入后,python解释器就在当前目录下寻找module1.py的文件,然后再从环境变量PYTHONPATH寻找,如果这环境变量没有设定,也不要紧,解释器还会在安装预先设定的的一些目录寻找。这就是在导入下面这些标准模块,一切美好事情能发生的原因。

import os

import sys

import threading

...

这些搜索目录可在运行时动态改变,比如将module1.py不放在当前目录,而放在一个冷僻的角落里。这里你就需要通过某种途径,如sys.path,来告知Python了。sys.path返回的是模块搜索列表,通过前后的输出对比和代码,应能理悟到如何增加新路径的方法了吧。非常简单,就是使用list的append()或insert()增加新的目录。

#module2.py

import sys

import os

print sys.path

workpath = os.path.dirname(os.path.abspath(sys.argv[0]))

sys.path.insert(0, os.path.join(workpath, 'modules'))

print sys.path

$ python module2.py

['e:\\Project\\Python', 'C:\\WINDOWS\\system32\\python25.zip', ...]

['e:\\Project\\Python\\modules', 'e:\\Project\\Python', 'C:\\WINDOWS\\system32\\python25.zip', ...]

其他的要点

模块能像包含函数定义一样,可包含一些可执行语句。这些可执行语句通常用来进行模块的初始化工作。这些语句只在模块第一次被导入时被执行。这非常重要,有些人以为这些语句会多次导入多次执行,其实不然。

模块在被导入执行时,python解释器为加快程序的启动速度,会在与模块文件同一目录下生成.pyc文件。我们知道python是解释性的脚本语言,而.pyc是经过编译后的字节码,这一工作会自动完成,而无需程序员手动执行。

在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹当作包使用时,文件夹需要包含__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。__init__.py的内容可以为空,一般用来进行包的某些初始化工作或者设置__all__值,__all__是在from package-name import *这语句使用的,全部导出定义过的模块。

物理沙盘

TPT全名The Powder Toy,是一个由C++制作的物理游戏(常被用来做物理模型)。几乎可以模拟一切物体。除了物理,还有很多化学物质和生命体。

中文名

物理沙盘

原版名称

The Powder Toy

游戏类型

ETC 其它种类游戏

地区

英国

发行公司

HardWIRED

快速

导航

功能组合键显示模式各种反应其他

元素简介

1.Wall(墙)类

能墙:阻止一切物质,只允许能量物质通过。如光子(PHOT),中子(NEUT)。

重力墙:包围的区域不受外界重力影响(如黑洞)

气墙:能阻挡液体和固体,但气体可以通过.

电锁体:不通电时会困住所有物体到它体内,通电后会释放它们.

导体:能导电且不会挡住其他物质.

固墙:能阻挡液体和气体,但固体能通过.

压墙:能阻挡一切物质,只能通过空气,传导压力.

死墙:阻挡一切.

清除:清除目标区域的墙类对象

吸墙:能够吸收一切物质,只能通过空气,传导压力

液墙:阻挡固体和气体,但是液体能通过,可导电.

风扇:风扇,提供一个气流(压降),使用方法是安置后,按住shift,点击已经放置的风扇,拖动鼠标确定气流方向,按确定完成设置。可多次设置。

标识:创建一个文字标识. {p}字段可以显示压强,{t}可以显示温度,{c:沙盘的ID|描述文字}可以建立一个到其他存档的超链接,例如{c:55642|Hello world!}. 使用以上字段时不能再加入其它字符

气流指示器:指示风向,不和其他任何物体发生作用。

探测器:不会挡住任何物体。但是有任何物体通过它时会发光,同时产生一个电流. 注意这个电流不能直接影响电控对象,比如水晶,必须通过导体引出来才能使用。

电控墙:不通电时会阻挡所有物体,通电时会解除阻挡,且变色.

活墙:阻挡一切,但能导电.

2.Electronics(电)类

CRAY物质射线发射器:发射一条与它CTYPE值相同的元素, 利用TMP值修改长度.

WWLD: 来自WireWorld,细胞自动机的一种,类似于Life,使用方法见进阶内容

EMP 磁暴:通电会产生强烈的磁暴,能在整个屏幕范围摧毁内工作状态的电路

ARAY 射线发射器:直接(必须)和通电的导电物质接触时会在被通电的反方向发出射线,如果多个射线相撞则会生成固体BRAY。可以接受任何材料传来的电流,包括SWCH

WIFI 无线传输:可以通过任何导电材料(除NSCN外)接收电流,但是只有P、N型硅以及INWR可以接收。WIFI接受的电流会立即发送给所有同频段的其他WIFI,WIFI的频段由温度决定,每100度为一个频段,总共有99个频段可以使用,不同的频段颜色也不同。高压下或者使用ACID可以破坏掉。

INST 超导线:在INST上的电流能瞬间传遍整个导线。已经证实比导电墙还要快。但是只能通过PSCN发送电流,NSCN接受电流,其余物质一概不受影响。

TESC 特斯拉线圈:通电能产生电弧

LIGH 闪电:高温的电弧!小心触电!

INWR 绝缘线:不与金属导电. 只和自己、P型硅与N型硅导电。熔点1414℃

SWCH 开关:只有在激活模式下(变亮)才导电,一个P型硅(PSCN)将电传给SWCH会使它变为激活模式,一个N型硅(NSCN)将电传给SWCH会使它变为关闭模式(变暗).

BTRY 电池:提供永久的电流. 只传导给METL, PSCN, NSCN,熔点 2000℃,熔融为PLSM

ETRD 电极:在通电时会产生等离子体,且会与附近的电极一起形成等离子束.谨慎使用. 每次最好只使用一个像素

PTCT 冷半导体:只在100℃以下导电. 因为其特殊性,它能够将自己迅速冷却到22℃左右,熔点1414℃

NTCT 热半导体:只在100℃以上导电. 因为其特殊性,它能够将自己迅速冷却到22℃左右,熔点1414℃

NSCN N型硅:半导体, 电流只能从P型传导到到N型,不能从N型到P型.熔点1414℃

PSCN P型硅:半导体. 熔点1414℃

SPRK 电火花:电流在物质中传导的形式,不能单独存在。

METL 金属:良好的导体,可被摧毁. 熔点1000℃

3.Powered(激活)类

*该分类下的大部分元素都可以通过使用P型半导体(PSCN)接通电流激活 ,N型半导体(NSCN)为关闭

GPMP 重力泵:类似泵(PUMP),但是其产生的是重力场(需要启用牛顿重力选项)

PBCN 可控可破坏复制体:和可控复制体(PCLN)相同,但是可以被破坏,非无敌。

DCEL 减速器:每当电子,光子,中子等粒子撞在上面反弹的时候,它们的速度会降低10%

ACEL 加速器:每当电子,光子,中子等粒子撞在上面反弹的时候,它们的速度会增加10%

PUMP 泵:当加热或者冷却时,在此材料上的压力和温度将会同步(高温=高压,低温=低压),只能使用HEAT和COOL改变温度,不导热不导电。

PVOD 可控虚空:激活后同虚空(VOID)

STOR 栈:吸收一个像素的和其ctype相同的元素,若ctype为空则吸收一切。当激活时释放已经吸收的元素。通过控制台或者选择元素涂在转换器(CONV)上可以改变其ctype

DLAY 延时计:当电流通过延时计(DLAY)时会延时x帧,x等于其当前的温度。不导热,只能使用HEAT/COOL改变温度

HSWC 热开关:激活时可以导热,否则为绝热材料

PCLN 可控复制体:激活时同复制体(CLNE),否则没有作用

LCRY 液晶:激活时会变亮,否则为暗色。激活的液晶可以让光子(PHOT)通过(透光),反之反射光子。1000℃时失效为碎玻璃(BGLA)

4.Explosives(爆炸物)类

GBMB 重力炸弹:接触物体后产生一个强引力场然后释放,杀伤力巨大,谨慎使用。有独特的发光效果

IGNC 引线:功能和导火索(FUSE)类似,但是温度较低较安全,而且效果更好看。可以用明火和电流引燃

TNT 三硝基甲苯:三硝基甲苯,猛烈的炸药。高温,明火或者电流都能引爆

C-5 冷炸药:爆炸时产生超低温冲击波,可以通过CFLM或者低温液体引爆

BOMB 炸弹:接触几乎任何物质都会爆炸,能够摧毁8像素范围内除了金刚石(DMND)以外的几乎所有物质,产生高温。有独特的发光效果。

FWRK 衰变型烟花:缓慢释放焰火,可用中子撞击或加热触发

DEST 毁灭:更具破坏力的BOMB,破坏效应很特殊

FIRW 烟花:点燃后冲向天空,然后五颜六色地爆炸……恩就是烟花

CFLM 零度火焰:绝对零度的火焰(-273.15℃)

THRM 铝热剂:只于明火反应,能产生极高的温度(3000+),生成火焰,岩浆和等离子焰。 冷却后会生成脆金属(BMTL)

THDR 闪电:温度很高(9000℃),能对不少物质造成破坏. 接触导电物质后会产生强电流,非导电物质则产生强高温高压的冲击波

LRBD 液态铷:遇水即爆炸.凝固点低(~38.9℃)。可导电。 (相信学生们还记得初中的小钠球在烧杯水面燃烧发出嘶嘶声的实验)

RBDM 固态铷:遇水即爆炸.熔点低,稍稍加热即熔解.可导电。

C-4 塑胶炸药:固体,压感爆炸物,高压下(~5个压力)爆炸,高温下(400℃)自燃爆炸.暴露在中子下会老化变成GOO

NITR 硝化甘油:液体,威力大,高压下(~5个压力)或遇明火爆炸, 400℃时自燃. 在中子作用下会变质为柴油

GUN 火药(Gunpowder):火药,易燃。400℃时自燃。

FIRE 火:人类走向文明的起源,温度约422℃

5.Gasses(气体)类

HYGN 氢气:最轻的气体,易燃易爆,和O2结合(实际生活中应该是燃烧)生成水,不会液化、

BOYL波义耳气:波义耳(Boyle)定律--在温度恒定时,一定量气体的体积与其所受的压力成反比,Boyle的名字就来自于此。当BOYL受热时体积膨胀,反之收缩。不可燃。

CAUS 酸气:性质和酸(ACID)类似的气体,能腐蚀接触的大部分物质。酸(ACID)+水(WATR)会产生酸气

CO2 二氧化碳:可以强烈抑制燃烧的重气体,能被植物(PLNT)吸收。凝华点-77℃

OXYG 氧气:易燃气体, 不需要可燃物,高温(350℃)下自燃,遇明火即可燃 (当然真实的氧气是没法自个燃烧的),凝结点-182.15℃

. 植物(PLNT)吸收烟气/二氧化碳(SMKE/CO2)后会产生氧气,可吸收光子(20°~35°)

SMKE 烟:含水物质或不完全燃烧(低温闷燃等)的产物. 主要成分是二氧化碳,以及可燃烟气。高温(350℃)下可燃

NBLE 惰性气体:遇电后成等离子体,发出光亮. 冷却后还会变为惰性气体. (霓虹灯就是这样做出来的)

PLSM 等离子体:超高温的火焰,彩色,初始温度9725.85℃

WTRV 水蒸气:冷却后成水。如果冷却速度过快,会凝华为霜 RIME

GAS 油气:可燃气体, 高温(300℃)下自燃。高压下(~5个压力)还原成石油. 可以通过以下三种方法得到:1.用中子持续轰击柴油 2.加热石油 3.低压处理石油(减压蒸馏)

6.Liquids(液体)类

MERC 水银:很重的液态金属,可导电。随温度变化体积也会变化。

SOAP 肥皂:可以做泡泡,还能洗掉BIZR的染色,这是唯一可以移动且改变形态的东西,肥皂泡……如果你始终无法弄出一个,尝试在控制台输入!bubble 300,200

PSTE 胶体:施加压力(~0.5)时凝固为固体,高温(474℃)下固化为BRCK。粘土砂(CLST)+水(WATR)能产生胶体

BIZR 奇异物质:让施加在上面的热作用正好相反(比如将其加热反而会让其凝固),"凝固点" 120℃,"蒸发点" -173.15℃。还能用于染色

BUBW碳酸水:富含二氧化碳的水,受扰动或加热会释放二氧化碳(释放的二氧化碳被植物吸收,释放氧气)

GLOW 荧光液:在有压力的情况下可发光,亮度和压力成正比。温度也会影响其颜色

LOXY 液氧:液态氧气,沸点-173℃,初始-193.15℃,易燃

DESL 柴油:低压下液化, 高压(5)或极低压(-20)或中温(~60℃)下自燃

LN2 液氮:液态氮气,非常冷的液体,沸点 -195.6℃,初始-203℃

MWAX 蜡油:冷却后成固体蜡烛. 熔点46℃。高温(400℃)下自燃

SLTW 盐水:溶解了盐的水,凝固点比水低(-41℃),汽化点比水高(210℃)。加热后盐会析出。

DSTW 蒸馏水:冷凝水蒸气得到,没有任何溶质的纯净液体,植物(PLNT)和蔓藤(VINE)无法在蒸馏水中生长,不导电。

ACID 酸:能溶解大多数物质。可燃。

LAVA 岩浆:高密度液态岩石, 初始1522℃,冷却后成石粉(STNE). 所有可熔的电学材料和所有可熔的粉末,玻璃,脆金属在处于熔融态后都会成为Molten XXXX,核反应会产生LAVA. 如果是其他物质熔融产生的岩浆,冷却后还会凝固成原来的物质。不过沙子凝固后会变成玻璃

OIL 石油:易燃液体,加热后成为油气(GAS),遇明火燃烧,会产生大量烟(SMKE). 冷却/高压下还能液化为石油

WATR 水:有杂质的水,可导电,能溶解某些物质

7.Powders(粉末)类

CLST 粘土砂:温度越低粘性越大,熔点983℃

BREL 电渣:被磁暴(EMP)破坏后的电子器件留下的残渣,不会融化。

PQRT 石英砂:石英的粉末,熔点2300℃。

ANAR 逆尘:非常轻的粉尘,拥有反重力和速度性质。比如没有外界作用时会往上飘,用风扇去吹反而会靠过来。

GRAV 重力尘:非常轻的粉尘,在不同速度下显示不同的颜色。

FRZZ 寒尘:会自己不断降温的神奇物质,若溶解在水中会形成寒水(FRZW)

BCOL 煤粉:粉状的煤,易燃,燃烧略慢

FSEP 导火索粉:高温(400℃)或通电自燃,燃烧缓慢

YEST 酵母:适当温度下(~37℃)会发酵, 再高(100℃)就会死亡(DYST)若个体发生死亡,则会将死亡状态传播给其他个体, 高于200℃则焦化成灰(DUST),中子也同样能够杀死酵母。

BGLA 碎玻璃:高密度固体粉末,熔点1700℃, 熔融后冷却能凝固成玻璃(GLAS).不透光。在高压下玻璃GLAS会碎裂为碎玻璃BGLA

SAND 沙子:高密度固体粉末,熔点1700℃,凝固后生成玻璃

BRMT 金属粉末:粉末状的金属,熔点1000℃,冷却后为脆金属(BMTL).

SALT 盐:溶于水后成盐水(SLTW),熔点900℃

CNCT 混凝土:可以堆积成柱状,而不是像普通powder一样散落成一堆,可用于建筑。熔点850℃

SNOW 雪:高压下冰会碎裂为雪。

STNE 石头:重粉末. 熔点710℃

DUST 灰:很轻的粉末,可燃,但是火焰很弱。

8.Solids(固体)类

GOLD 金:耐腐蚀金属,将扭转的铁的腐蚀。

TTAN 钛:比其他金属较高的熔融温度,阻止所有的空气压力。

QRTZ 石英:在极低的温度下会颗粒化为石英砂,在零下100℃/173K以下时可以导电,透光并且会散射光子,熔点2300℃。

FILT 滤镜:有色玻璃,温度影响其颜色,通过的光会变成它的颜色。通过修改其tmp值可以启用它的四种模式:0=转换(默认);1=过滤(只通过特定颜色的光子);2=添加(添加混合新的颜色);3=减去(从现有颜色减去)

SHLD 自修复膜:施加电脉冲时,可以在导体外产生一层保护膜,可以连续通电持续修复。从内到外分别生成SHD4,3,2,SHLD,分别在50/30/19/9的压力下瓦解。不导电,不导热。

INVS 无形:施加压力时隐形,可以通过任何物质。光子通过普通无形(INVS)会变成中子

VINE 蔓藤:会生长,然后变为植物(PLNT)

PIPE 动力管道:可以做成自带动力,能传输物体的管道。详细使用方法见进阶内容。

SPNG 海绵:可以吸水,吸水后颜色变深。施压可以把水挤出来。遇明火可燃。2456.86℃的高温下会自燃

DRIC 干冰:固态二氧化碳,温度很低。固体加热直接升华,升华点77.50℃

IRON 熟铁:盐或盐水会导致其生锈,性质类似于铁。可用于电解水。熔点1414℃

FUSE 导火索:可以缓慢燃烧,高温(~700℃)或者通电情况下会自燃

BRCK 砖块:石粉(STNE)的固体形态,建筑材料,高压(~8.7)下会碎裂为石粉(STNE),熔点950℃,不导电

COAL 煤:燃烧很缓慢的可燃物。煤是多孔物质,某些粉末可以缓慢地渗透进去

NICE 固态氮:固态氮气,熔点-209.8度,初温-238.15度,不可燃

GLAS 玻璃:高压下会碎裂。透光,反射中子。熔点1700℃。(实际的玻璃是非晶体,没有固定熔点)

WAX 蜡: 可燃。熔点45℃,会融化成蜡油(MWAX),不透过中子

BMTL 脆金属:强度较低的金属,熔点1000℃,导电。对光子的反射率在50%左右,通常用作择光器。中压(~2.5)就会下碎裂

DMND 金刚石:导热良好,不导电,不可摧毁。

PLNT 植物:吸水生长,高温(299.86℃)下自燃,受中子照射会死亡,固化为木头(WOOD)

WOOD 木头:可燃物, 高温(599.86℃)下自燃,燃烧速度中等,可透过中子,在高压高温下持续非常长的时间后会变成煤

ICE 冰:固态的水。低压(~0.7)下碎裂成雪(SNOW)

GOO 粘性物:高压下会分解消失,极耐高温,会被中子碎化

9.Radioactive(放射性物质)

ELEC 电子:撞击到金属上后会产生电流,还拥有一些奇妙的性质

SING 奇点:具有非常奇妙性质的物质。本质上是没有体积的黑洞。

ISZS 固体同位素Z:被光子激发衰变,衰变产生光子,可导致连锁反应, 室温下融化为ISOZ,熔点27℃

ISOZ 同位素Z:被光子激发衰变,衰变产生光子,可导致连锁反应,-114℃左右凝固为ISZS

WARP 跃迁粉:跃迁粉会导致被接触的物体粒子发生空间位移

DEUT 氧化氘/重水:可与中子反应的液体,能发生连锁反应,产生惊人的爆炸。不导电,不会气化,体积随着温度升高而升高,随着温度降低到零下会显著缩小。荧光液(GLOW)+水(WATR)能产生重水

AMTR 反物质:会和几乎所有物质结合然后湮灭,湮灭时会产生负压和光子。(负压会使AMTR更容易聚集)

URAN 铀:高压下会自行放大量热,但不会裂变为更稳定的物质。和一般物质不同,其压热关系是幂指数,因此在高压下升温非常非常快

PHOT 光子:沿直线传播,遵循反射,折射,散射定律,通过透明物体会发生散射.初温~900度。会自己慢慢消散. 更多的特性参照进阶部分

PLUT 钚:高压下会裂变为铀,同时释放出2个中子,放出大量热,产生很大的压力

NEUT 中子:核反应产物。会对某些其他物质产生影响。衰变周期大概为10秒

10.Special(特殊)类

FIGH 打手:危险的人物!它们会尝试杀死你的火柴人!

WHOL 白洞:产生一个反重力场,排斥一切靠近的物体(需要启用牛顿重力)

BHOL 黑洞:产生一个重力场,吸引一切靠近的物体(需要启用牛顿重力)

STK2 火柴人2:第二个火柴人,WASD控制移动

PRTO 虫洞出口:入口吸收的物质从这里释放,释放速度只和表面积有关(因为是2D游戏,即周长),产生微表压。虫洞也有99个频段可以指定,使用方法同WIFI,请参考WIFI相关条目

PRTI 虫洞入口:物质从这可以被吸收,没有PRTO存在的时候可以当做一个弱引力源,产生微负压。虫洞也有99个频段可以指定,使用方法同WIFI,请参考WIFI相关条目

BLCN 可破坏复制体:同复制体(CLNE),但是可以被摧毁

CONV 转换器:将所有接触到的物质变成它的ctype类型。通过控制台或者选择元素涂在转换器(CONV)上可以改变其ctype

STKM 火柴人:能用键盘控制,只能在普通温度和压力下活命。D键可以杀死他。左右移动,上是跳。如果他“啃”到了什么粒子,按下可以吐出来对应的粒子……比如石油……

VENT 泄风口:排出空气,产生一个表压推离物体。聚集适用可以作为压力源。

VACU 真空口:吸取空气,产生负压吸引物体,吃掉粒子的时候会产生热量 (实际上是X射线)

INSL 绝缘体:不导热也不导电,唯一可以阻止电火花(SPRK)真空跳跃的材料,遇明火可燃 (在紧凑电路内防止漏电的必需品)

VOID 虚空:能吞掉任何撞击它的物体(而不仅仅是接触)并放出热量。

CLNE 复制体:它会复制任何接触它的物体,除了反物质(AMTR)等。可透光。

擦除:清除除墙(Wall)以外的任何物质

11.Tool(工具)类

PROP 属性笔:在目标上点一下,就能在弹出窗口中修改目标的TEMP, TMP, TYPE, CTYPE, LIFE等属性

NGRV 反重力笔:绘制的地方产生一个反重力场,排斥周围的物体(需要启用牛顿重力)

PGRV 重力笔:绘制的地方产生一个重力场,吸引周围的物体

风笔 :按住不放然后拖动鼠标来产生一股风,用于人工操控粒子的走向或者给一个激励

VAC 真空笔:抽干绘制处的大气(Air),降低压力。笔刷越大效果越好。

COOL 冷笔:降低温度.笔刷越大效果越好。

HEAT 热笔:增加温度.笔刷越大效果越好。

AIR 压力笔:增加压力.笔刷越大效果越好。

(按E可直接查找所有元素)

功能组合键

CapsLock【启用针对性删除模式】

Shift+alt+单击【针对性选择】

insert【启用针对性替换模式】

TAB【切换圆形和方形笔刷】

ctrl+C/V/X【复制粘贴剪切,不多说】

ctrl+Z【撤销】

ctrl+拖动【矩形区域】

shift+拖动【直线】

crtl+shift+单击【填充工具】

中键或alt+单击【吸管工具】

ctrl+R【旋转选定区域】

ctrl+shift+R【镜像选定区域】

滚轮【控制笔刷大小】

ctrl+滚轮【控制笔刷垂直方向大小】

shift+滚轮【控制笔刷水平方向大小】

空格【暂停】

Z【放大镜,滚轮控制倍数】

S【点击后单击拖动矩形区域,将选中区域保存为stamps文件】

L【快速读取】

K【浏览存档】

C【循环显示模式】

按1~0键(*)可以直接切换,每种模式都很明显,试试就知道了

*edit*详细介绍看下面

P【截屏,保存在游戏目录下】

F【步进,用于观察生命演化,按一次进一帧/代】

G【打开网格,多按几次可以循环网格的大小】

H【隐藏版本信息和压力温度提示】

D【显示debug信息(粒子数,生命代数)】

R【重设生命代数】

I【反转压力和速度场,慎用】

T【蔓藤模式,PLNT在WOOD上会生长】

W【重力模式,在无重力,垂直重力和点重力模式间切换】

Y【空气模式,在开,关速度场,关压力场,不更新,关之间切换】

=【重设速度场和压力场】

Ctrl+=【重设电场】

~【PythonConsole】