Redefine stack and propagation of judge.

This commit is contained in:
2022-11-16 00:27:38 +08:00
parent 9974b25377
commit 31e9f1352b

View File

@@ -116,8 +116,8 @@ namespace Cryville.Crtr {
if (def.scores != null) UpdateScore(def.scores); if (def.scores != null) UpdateScore(def.scores);
if (def.pass != null) Pass(def.pass); if (def.pass != null) Pass(def.pass);
actlist.RemoveAt(index); actlist.RemoveAt(index);
if (def.stack != def.prop && actlist.Count > 0) { if (def.prop != 0 && actlist.Count > 0) {
index = BinarySearchFirst(actlist, ev.StartClip, def.prop); index = BinarySearchFirst(actlist, ev.StartClip, def.stack - def.prop);
if (index < 0) index = ~index; if (index < 0) index = ~index;
} }
else index++; else index++;
@@ -216,7 +216,7 @@ namespace Cryville.Crtr {
public Identifier[] miss; public Identifier[] miss;
public Dictionary<ScoreOperation, PdtExpression> scores; public Dictionary<ScoreOperation, PdtExpression> scores;
public int stack; public int stack;
public int prop = -1; public int prop = 1;
} }
public class ScoreOperation { public class ScoreOperation {
public Identifier name; public Identifier name;