LinePush(box,box,box……)
1. 检查box是否隶属于什么组groupA、groupB……。
2. 如果属于组,则返回outcome GroupPush()。
3. 如果不属于组,则返回outcome BoxPush()。
4. 2和3为递归,如果返回outcome都为true,则提取outcome后面的内容进行现实效果推移。
outcomes记录为多条outcome链,每个链的形式如下,只有全部的链都返回true时,才开始往后执行。根据最近的记录开始处理现实效果。
记录1
结果:【成功】
【对象:【box】
效果:【方向】/ 【破裂】】
失败原因:【】
记录2
结果:【成功】
对象:【box1,box2,box3,box4……(某个组的)】
效果:【box1左推】+【box2左推】+【box3左推】+【box4破裂】
失败原因:【】
记录3
结果:【失败】
对象:【box1】
效果:【无】
失败原因:【遇到阻力源】
GroupPush()
内容是将group中的所有结果,综合在一起返回。
1. 找到group右侧不是自己的所有box,检测其是否隶属于group,如果隶属于,则GroupPush(新group),得到其outcomes链条。
2. 把所有outcomes链条集中在一起,看看实现效果,返回,必须自己包含自己了。
BoxPush()
内容是将box推中如果遇到group,综合在一起推GroupPush()
数据结构很重要。可能要outcomes包容coutcomes的结构了。是一个递归下去的结构,很有趣。何时记录数据?等到有空了再全面想一次。

1848

被折叠的 条评论
为什么被折叠?



