超级订单修复

This commit is contained in:
hahwu 2025-01-22 11:39:46 +08:00
parent 04e7cae275
commit e7178b532a
2 changed files with 35 additions and 1 deletions

View File

@ -266,7 +266,7 @@ func (o *OrderMod) CreateSuperOrder(lv int, Emit []int, EnergyMul int) error {
break
}
randNum++
mergeList, OrderDiff, err = randOrderChess(o, lv, Emit, EnergyMul)
mergeList, OrderDiff, err = randSuperOrderChess(o, lv, Emit, EnergyMul)
if err != nil {
continue
}

View File

@ -207,6 +207,40 @@ func GetEmitByColor(Emit []int, color string) int {
return 0
}
// 随机生成超级订单棋子
func randSuperOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int, int, error) {
initReflectChess(Emit, EnergyMul)
filterPool(o)
OrderN, err := userCfg.GetOrderNByLv(lv)
RandChessNum := map[int]int{
2: 70 - OrderN,
3: 30 + OrderN,
}
if err != nil {
return nil, diff_low, err
}
// 生成订单难度和棋子数量
ChessNum := GoUtil.RandMap(RandChessNum)
OrderDiff := diff_high
ChessDiff := getChessDiff(ChessNum, OrderDiff, OrderN)
mergeList := make([]int, 0, len(ChessDiff))
// 根据订单棋子难度生成棋子
for _, v := range ChessDiff {
ChessId := 0
for {
ChessId = getChessFromPoolByDiff(o, v, Emit, EnergyMul)
if ChessId == 0 {
continue
}
if !GoUtil.InArray(ChessId, mergeList) {
break
}
}
mergeList = append(mergeList, ChessId)
}
return mergeList, OrderDiff, nil
}
// 随机生成订单棋子
func randOrderChess(o *OrderMod, lv int, Emit []int, EnergyMul int) ([]int, int, error) {
initReflectChess(Emit, EnergyMul)