1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-30 16:01:53 +08:00

feat(饲料系统): 实现基于品质权重的饲料卡牌生成逻辑

添加 ArrayTool 工具类用于数组操作
在 FeedName 中增加 weight 方法获取品质权重
修改 MakeFeed 的卡牌生成逻辑,根据品质权重进行随机选择
This commit is contained in:
2025-08-28 09:36:01 +08:00
parent e7ffd6bce2
commit 2ec3d535c7
3 changed files with 24 additions and 6 deletions
+14 -6
View File
@@ -54,12 +54,20 @@ func finish():
func regenerateCards():
updateValue()
clearCards()
var feeds: Array[Feed] = []
for i in avaliableFeeds.get_children():
feeds.append(i)
feeds.shuffle()
for i in range(UIState.player.fields[FieldStore.Entity.FEED_COUNT_SHOW]):
var feed = feeds[i] as Feed
var feeds = generateCardByQuality()
for feed in feeds:
feed.show()
avaliableFeeds.remove_child(feed)
feedCards.add_child(feed)
func generateCardByQuality():
var feeds = []
for i in range(len(avaliableFeeds.get_children())):
var feed = avaliableFeeds.get_children()[i] as Feed
for j in range(feed.nameLabel.weight()):
feeds.append(i)
var result = []
for i in range(UIState.player.fields[FieldStore.Entity.FEED_COUNT_SHOW]):
feeds.shuffle()
result.append(avaliableFeeds.get_children()[feeds[0]])
feeds = ArrayTool.removeAll(feeds, feeds[0])
return result