超级订单修复
This commit is contained in:
parent
04e7cae275
commit
e7178b532a
@ -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
|
||||
}
|
||||
|
||||
@ -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)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user