关于null!=null
修改于2022/01/10554 浏览
对于吵闹的观众的触发条件,牌面称:场上所有描述互不相同。这里往往有一个误区,大家会认为两张生物牌面一样,就可以避开条件,打出3/12。
对,但不完全对。这是由于常规条件下,
一:2047没有白板
二:一张生物只有一个描述
but,我们亲爱的开发者显然是考虑过:描述,作为2047一个重要的设计概念,啊,是可以叠的。所以ta没有这样实现:
'''
for 生物i in 场上:
for 生物j in 场上:
if(i != j and i.描述==j.描述)
return '3/12';//找到同描述生物不减力
return '3/7';//遍历结束找不到,减力
'''
而实践之中,我们又能发现以下现象:
一、两张无描述的蛹在场,观众将减力;
二、一张初始描述的多面果在场,一张增加了其他描述的多面果在场,观众不会减力;
三、仅有一张带有两个多面果描述的多面果在场,观众也不会减力。
到此为止,已经可以知道,所谓“NULL!=NULL”的说法是错误的。吵闹的观众实际上根本不关心场上的生物,只关心每一条描述,哪怕这两条描述在同一张卡上。NULL和NULL怎么可能不等呢?
于是可以猜测实际实现方式:
'''
for 生物i in 场上:
for 描述j in i.所有描述:
if list 包含 j:return '3/12'//找到同描述
else list.add(j);//新描述,加list存起来
return '3/7';//遍历完场上描述,无相同项
'''
一句给萌新的题外话,白棋和被泼墨的生物,其实也属于带有描述的卡牌;学以致用的“夺取”也并非真正意义的夺取,因为ta给被夺取者送了一个泼墨描述()
快说,谢谢联邦。