feat(ignore): 增加 seen 统计与 ResetStat,便于对比栅栏与地面的形状类型
seen = 本车接触到的所有非坦克形状的 cat/type 直方图(不论是否忽略);新增 ResetStat() 清零,便于「平地 1 秒」与「顶住栅栏 1 秒」两次对比定位栅栏的真实形状类型。
This commit is contained in:
1 parent
f455fe5c35
commit
d4a260ac92
3 files changed
+63
-9
No files matched your search
@@ -6591,6 +6591,7 @@
|
||||
skippedFence: 0,
|
||||
skippedOverlap: 0, // x9o 形状相交查询被拦下的次数
|
||||
byType: {}, // cat/type → 被忽略次数(诊断)
|
||||
seen: {}, // cat/type → 本车接触到的非坦克形状次数(诊断)
|
||||
patched: false,
|
||||
overlapPatched: false
|
||||
};
|
||||
@@ -6848,6 +6849,13 @@
|
||||
var FenceShape = null;
|
||||
if (TankA && OwnerOf(ShapeA) === Local) FenceShape = ShapeB;
|
||||
else if (TankB && OwnerOf(ShapeB) === Local) FenceShape = ShapeA;
|
||||
|
||||
// 统计:本车接触到的所有非坦克形状(不论是否跳过)→ cat/type 直方图
|
||||
if (FenceShape) {
|
||||
var SeenKey = FenceShape[FShapeCategory] + '/' + FenceShape[FShapeType];
|
||||
Stat.seen[SeenKey] = (Stat.seen[SeenKey] || 0) + 1;
|
||||
}
|
||||
|
||||
if (FenceShape && IsFenceLike(FenceShape)) {
|
||||
Stat.skippedFence++;
|
||||
var Key = FenceShape[FShapeCategory] + '/' + FenceShape[FShapeType];
|
||||
@@ -6855,8 +6863,7 @@
|
||||
return true;
|
||||
}
|
||||
// 诊断:本车与任意非坦克形状配对但没跳过 → 记录样本(含被挡住的栅栏)
|
||||
if (TankA && OwnerOf(ShapeA) === Local && !TankB) RecordFenceSample(ShapeB);
|
||||
if (TankB && OwnerOf(ShapeB) === Local && !TankA) RecordFenceSample(ShapeA);
|
||||
if (FenceShape) RecordFenceSample(FenceShape);
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -7003,8 +7010,19 @@
|
||||
running: Stat.running, mode: Stat.mode, ignoreFence: Stat.ignoreFence,
|
||||
skippedTank: Stat.skippedTank, skippedFence: Stat.skippedFence,
|
||||
skippedOverlap: Stat.skippedOverlap,
|
||||
byType: Stat.byType, patched: Stat.patched, overlapPatched: Stat.overlapPatched
|
||||
byType: Stat.byType, seen: Stat.seen,
|
||||
patched: Stat.patched, overlapPatched: Stat.overlapPatched
|
||||
};
|
||||
},
|
||||
// 清零统计:便于「平地 1 秒」与「顶住栅栏 1 秒」两次对比 seen 里的 cat/type
|
||||
ResetStat: function () {
|
||||
Stat.skippedTank = 0;
|
||||
Stat.skippedFence = 0;
|
||||
Stat.skippedOverlap = 0;
|
||||
Stat.byType = {};
|
||||
Stat.seen = {};
|
||||
FenceSampleKeys = {};
|
||||
console.log('[忽略] 统计已清零');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+21
-3
@@ -6591,6 +6591,7 @@
|
||||
skippedFence: 0,
|
||||
skippedOverlap: 0, // x9o 形状相交查询被拦下的次数
|
||||
byType: {}, // cat/type → 被忽略次数(诊断)
|
||||
seen: {}, // cat/type → 本车接触到的非坦克形状次数(诊断)
|
||||
patched: false,
|
||||
overlapPatched: false
|
||||
};
|
||||
@@ -6848,6 +6849,13 @@
|
||||
var FenceShape = null;
|
||||
if (TankA && OwnerOf(ShapeA) === Local) FenceShape = ShapeB;
|
||||
else if (TankB && OwnerOf(ShapeB) === Local) FenceShape = ShapeA;
|
||||
|
||||
// 统计:本车接触到的所有非坦克形状(不论是否跳过)→ cat/type 直方图
|
||||
if (FenceShape) {
|
||||
var SeenKey = FenceShape[FShapeCategory] + '/' + FenceShape[FShapeType];
|
||||
Stat.seen[SeenKey] = (Stat.seen[SeenKey] || 0) + 1;
|
||||
}
|
||||
|
||||
if (FenceShape && IsFenceLike(FenceShape)) {
|
||||
Stat.skippedFence++;
|
||||
var Key = FenceShape[FShapeCategory] + '/' + FenceShape[FShapeType];
|
||||
@@ -6855,8 +6863,7 @@
|
||||
return true;
|
||||
}
|
||||
// 诊断:本车与任意非坦克形状配对但没跳过 → 记录样本(含被挡住的栅栏)
|
||||
if (TankA && OwnerOf(ShapeA) === Local && !TankB) RecordFenceSample(ShapeB);
|
||||
if (TankB && OwnerOf(ShapeB) === Local && !TankA) RecordFenceSample(ShapeA);
|
||||
if (FenceShape) RecordFenceSample(FenceShape);
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -7003,8 +7010,19 @@
|
||||
running: Stat.running, mode: Stat.mode, ignoreFence: Stat.ignoreFence,
|
||||
skippedTank: Stat.skippedTank, skippedFence: Stat.skippedFence,
|
||||
skippedOverlap: Stat.skippedOverlap,
|
||||
byType: Stat.byType, patched: Stat.patched, overlapPatched: Stat.overlapPatched
|
||||
byType: Stat.byType, seen: Stat.seen,
|
||||
patched: Stat.patched, overlapPatched: Stat.overlapPatched
|
||||
};
|
||||
},
|
||||
// 清零统计:便于「平地 1 秒」与「顶住栅栏 1 秒」两次对比 seen 里的 cat/type
|
||||
ResetStat: function () {
|
||||
Stat.skippedTank = 0;
|
||||
Stat.skippedFence = 0;
|
||||
Stat.skippedOverlap = 0;
|
||||
Stat.byType = {};
|
||||
Stat.seen = {};
|
||||
FenceSampleKeys = {};
|
||||
console.log('[忽略] 统计已清零');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+21
-3
@@ -66,6 +66,7 @@
|
||||
skippedFence: 0,
|
||||
skippedOverlap: 0, // x9o 形状相交查询被拦下的次数
|
||||
byType: {}, // cat/type → 被忽略次数(诊断)
|
||||
seen: {}, // cat/type → 本车接触到的非坦克形状次数(诊断)
|
||||
patched: false,
|
||||
overlapPatched: false
|
||||
};
|
||||
@@ -323,6 +324,13 @@
|
||||
var FenceShape = null;
|
||||
if (TankA && OwnerOf(ShapeA) === Local) FenceShape = ShapeB;
|
||||
else if (TankB && OwnerOf(ShapeB) === Local) FenceShape = ShapeA;
|
||||
|
||||
// 统计:本车接触到的所有非坦克形状(不论是否跳过)→ cat/type 直方图
|
||||
if (FenceShape) {
|
||||
var SeenKey = FenceShape[FShapeCategory] + '/' + FenceShape[FShapeType];
|
||||
Stat.seen[SeenKey] = (Stat.seen[SeenKey] || 0) + 1;
|
||||
}
|
||||
|
||||
if (FenceShape && IsFenceLike(FenceShape)) {
|
||||
Stat.skippedFence++;
|
||||
var Key = FenceShape[FShapeCategory] + '/' + FenceShape[FShapeType];
|
||||
@@ -330,8 +338,7 @@
|
||||
return true;
|
||||
}
|
||||
// 诊断:本车与任意非坦克形状配对但没跳过 → 记录样本(含被挡住的栅栏)
|
||||
if (TankA && OwnerOf(ShapeA) === Local && !TankB) RecordFenceSample(ShapeB);
|
||||
if (TankB && OwnerOf(ShapeB) === Local && !TankA) RecordFenceSample(ShapeA);
|
||||
if (FenceShape) RecordFenceSample(FenceShape);
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -478,8 +485,19 @@
|
||||
running: Stat.running, mode: Stat.mode, ignoreFence: Stat.ignoreFence,
|
||||
skippedTank: Stat.skippedTank, skippedFence: Stat.skippedFence,
|
||||
skippedOverlap: Stat.skippedOverlap,
|
||||
byType: Stat.byType, patched: Stat.patched, overlapPatched: Stat.overlapPatched
|
||||
byType: Stat.byType, seen: Stat.seen,
|
||||
patched: Stat.patched, overlapPatched: Stat.overlapPatched
|
||||
};
|
||||
},
|
||||
// 清零统计:便于「平地 1 秒」与「顶住栅栏 1 秒」两次对比 seen 里的 cat/type
|
||||
ResetStat: function () {
|
||||
Stat.skippedTank = 0;
|
||||
Stat.skippedFence = 0;
|
||||
Stat.skippedOverlap = 0;
|
||||
Stat.byType = {};
|
||||
Stat.seen = {};
|
||||
FenceSampleKeys = {};
|
||||
console.log('[忽略] 统计已清零');
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in new issue
Block a user