1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-24 20:42:30 +08:00

refactor(MathTool): 重命名随机数相关方法以提高可读性

将 randv2_range 重命名为 randomVector2In,randc_from 重命名为 randomChoiceFrom,randc_from_weights 重命名为 randChoiceWeightsFrom,并新增 randomRingPoint 方法
This commit is contained in:
2025-12-14 15:06:22 +08:00
parent 74d3e03fef
commit 2232c9148a
12 changed files with 30 additions and 28 deletions
+6 -4
View File
@@ -2,21 +2,23 @@ class_name MathTool
static func rate(value: float) -> bool:
return randf() < value
static func randv2_range(offset: float):
static func randomVector2In(offset: float):
return Vector2(
randf_range(-offset, offset),
randf_range(-offset, offset)
)
static func randc_from(array: Array):
static func randomRingPoint(innerRadius: float, outerRadius: float):
return Vector2.from_angle(randf_range(0, 2 * PI)) * randf_range(innerRadius, outerRadius)
static func randomChoiceFrom(array: Array):
return array[randi() % array.size()]
static func randc_from_weights(indexes: Array, weights: Array[int]):
static func randChoiceWeightsFrom(indexes: Array, weights: Array[int]):
var totals: Array = []
var index = 0
for i in indexes:
for j in range(weights[index]):
totals.append(i)
index += 1
return randc_from(totals)
return randomChoiceFrom(totals)
static func signBeforeStr(value: float):
return ("+" if value > 0 else "-" if value < 0 else "") + str(abs(value))
static func percent(value: float):