⑦T1: 种子三分判定单点落码——_seed_value() 改三分(显式合法整数全场景优先含首局/首局存档布尔判定恒42 P5甲/非首局空框引擎全局熵randi() 不走rng_service封闭流ADR-0007豁免面);调试浮窗种子框默认文本42改空框+占位提示「留空=随机 · 首局恒 42」(代拍板白名单);五探针种子钉死审计🔴(ui_input/ui_layout/ui_click/ui_probe/ui_struct 显式填42禁依赖默认分支——ui_probe系审计三件外同病灶随批修复);ui_click_probe 调试入口断言改向P2甲迁宿主(开始层角标退役断言+DS_DEBUG未设不默认开断言——暂态红待T2落码消);冒烟811/0三闸全过=S2确定性反证通过
This commit is contained in:
1 parent
adadf56376
commit
40fb4a5c1b
7 files changed
+24
-6
No files matched your search
@@ -1208,6 +1208,15 @@ func _on_tune_simulate(n: int) -> void:
|
||||
# ==================== 工具 ====================
|
||||
|
||||
func _seed_value() -> int:
|
||||
# 种子三分判定单点(迭代 18 卡⑦ C1——全工程唯一种子框读取处,禁第二处读框):
|
||||
# ①显式合法整数全场景优先(含首局——测试/调试接口显式指定;第五路 DebugSession Callable
|
||||
# 经本函数=调试对局与玩家同口径,P6 甲);
|
||||
# ②首局固定 42(P5 甲——存档现役布尔 is_first_adventure_done:新档显式 false=教学局,
|
||||
# 老档缺省 true=有游玩史;教学重放模板 0 即在此种子下标定);
|
||||
# ③非首局空/非法框=引擎全局熵 randi()(Godot 4 启动自播种子,headless 同;不走 rng_service
|
||||
# 封闭流、禁 randomize()/自建 RNG——组合根建种子属 ADR-0007 豁免面,不进玩法 RNG 消费)
|
||||
if _seed_edit.text.is_valid_int():
|
||||
return int(_seed_edit.text)
|
||||
if save_manager != null and not save_manager.is_first_adventure_done():
|
||||
return randi()
|
||||
return 42
|
||||
@@ -158,12 +158,14 @@ func _build() -> void:
|
||||
fx_btn.text = "纹章拼合" if UiKit.victory_fx_style == "crest" else "尘金粒子")
|
||||
fx_row.add_child(fx_btn)
|
||||
|
||||
# 区块①随机种子(原开始覆盖层种子行迁入——非法定值回退 42 的口径归组合根 _seed_value)
|
||||
# 区块①随机种子(原开始覆盖层种子行迁入——种子三分判定归组合根 _seed_value 单点):
|
||||
# 默认空框(迭代 18 卡⑦ C1——空=随全局规则:首局恒 42/非首局随机;显式填入全场景优先)
|
||||
var seed_row := HBoxContainer.new()
|
||||
list.add_child(seed_row)
|
||||
seed_row.add_child(UiKit.label("随机种子",UiKit.FS_BODY, false))
|
||||
seed_edit = LineEdit.new()
|
||||
seed_edit.text = "42"
|
||||
seed_edit.text = ""
|
||||
seed_edit.placeholder_text = "留空=随机 · 首局恒 42"
|
||||
seed_edit.custom_minimum_size = Vector2(120, 0)
|
||||
seed_row.add_child(seed_edit)
|
||||
list.add_child(HSeparator.new())
|
||||
|
||||
Reference in new issue
Block a user