修改订单逻辑
This commit is contained in:
parent
555d46e623
commit
e3870ec10a
@ -111,17 +111,9 @@ func (cb *ChessBorad) ComposeChess(id int) (int, error) {
|
||||
}
|
||||
ChessType := mergeDataCfg.GetTypeById(id)
|
||||
if ChessType == "Emitter" {
|
||||
_, ok := cb.EmitList[id+1]
|
||||
if ok {
|
||||
cb.EmitList[id+1]++
|
||||
} else {
|
||||
cb.EmitList[id+1] = 1
|
||||
}
|
||||
if cb.EmitList[id] > 2 {
|
||||
cb.EmitList[id] -= 2
|
||||
} else {
|
||||
delete(cb.EmitList, id)
|
||||
}
|
||||
cb.EmitList[id+1]++
|
||||
cb.EmitList[id]--
|
||||
cb.EmitList[id]--
|
||||
}
|
||||
id++
|
||||
newList = append(newList, id)
|
||||
@ -147,12 +139,7 @@ func (cb *ChessBorad) AddChess(id int) error {
|
||||
}
|
||||
ChessType := mergeDataCfg.GetTypeById(id)
|
||||
if ChessType == "Emitter" {
|
||||
_, ok := cb.EmitList[id]
|
||||
if ok {
|
||||
cb.EmitList[id]++
|
||||
} else {
|
||||
cb.EmitList[id] = 1
|
||||
}
|
||||
cb.EmitList[id]++
|
||||
}
|
||||
cb.ChessList = append(cb.ChessList, id)
|
||||
return nil
|
||||
@ -167,12 +154,7 @@ func (cb *ChessBorad) BuyChess(id int) (int, error) {
|
||||
cb.ChessList = append(cb.ChessList, id)
|
||||
ChessType := mergeDataCfg.GetTypeById(id)
|
||||
if ChessType == "Emitter" {
|
||||
_, ok := cb.EmitList[id]
|
||||
if ok {
|
||||
cb.EmitList[id]++
|
||||
} else {
|
||||
cb.EmitList[id] = 1
|
||||
}
|
||||
cb.EmitList[id]++
|
||||
}
|
||||
return CfgRecord.SellNum, nil
|
||||
}
|
||||
@ -235,6 +217,7 @@ func (cb *ChessBorad) RemoveChess(Id int) error {
|
||||
|
||||
func (cb *ChessBorad) GetEmitList() []int {
|
||||
result := make([]int, 0, len(cb.EmitList))
|
||||
EM := make(map[string]int)
|
||||
for k, v := range cb.EmitList {
|
||||
EmitID := mergeDataCfg.GetEmitId(k)
|
||||
if EmitID == "" {
|
||||
@ -243,9 +226,16 @@ func (cb *ChessBorad) GetEmitList() []int {
|
||||
if cb.Retire[EmitID] == 2 {
|
||||
continue
|
||||
}
|
||||
if v > 0 {
|
||||
result = append(result, k)
|
||||
EmitType := mergeDataCfg.GetEmitType(k)
|
||||
if EmitType == "sub" {
|
||||
continue
|
||||
}
|
||||
if v > 0 {
|
||||
EM[EmitID] = max(EM[EmitID], k)
|
||||
}
|
||||
}
|
||||
for _, v := range EM {
|
||||
result = append(result, v)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
@ -313,8 +313,6 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
||||
EmitId := getEmitId(o, Emit)
|
||||
EmitChessId := getEmitBySeries(Emit, EmitId)
|
||||
ColorRand := mergeDataCfg.GetEmitProduceType(EmitChessId)
|
||||
Color := GoUtil.RandStringSlice(ColorRand)
|
||||
|
||||
// 从棋子池中获取棋子
|
||||
MinChessId := 0
|
||||
for i, chess := range o.ChessPool {
|
||||
@ -337,12 +335,14 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
||||
if MinChessId != 0 {
|
||||
MinChessColor := mergeDataCfg.GetColorById(MinChessId)
|
||||
NewEmitChessId := getEmitByColor(Emit, MinChessColor)
|
||||
ColorRand := mergeDataCfg.GetEmitProduceType(NewEmitChessId)
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(NewEmitChessId, EnergyMul)
|
||||
NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff)
|
||||
MinChessLv := mergeDataCfg.GetLvById(MinChessId)
|
||||
NewLev2 := adjustLev(NewLev, EnergyMul)
|
||||
NewLev2 := mergeDataCfg.DynamicLev2(NewLev, NewEmitChessId, ColorRand[0], MinChessColor)
|
||||
NewLev3 := adjustLev(NewLev2, EnergyMul)
|
||||
o.ChessPool = GoUtil.DeleteEleByValue(o.ChessPool, MinChessId)
|
||||
for i := NewLev2; i < MinChessLv; i++ {
|
||||
for i := NewLev3; i < MinChessLv; i++ {
|
||||
ChessId2 := mergeDataCfg.GetChessIdByLvAndColor(i, MinChessColor)
|
||||
if ChessId2 != 0 {
|
||||
o.ChessPool = append(o.ChessPool, ChessId2)
|
||||
@ -351,6 +351,7 @@ func getChessFromPoolByDiff(o *OrderMod, Diff int, Emit []int, EnergyMul int) in
|
||||
Chess := mergeDataCfg.GetChessIdByLvAndColor(NewLev2, MinChessColor)
|
||||
return Chess
|
||||
}
|
||||
Color := GoUtil.RandStringSlice(ColorRand)
|
||||
ChessMinLv, ChessMaxLv := getChesslvRange(EmitChessId, EnergyMul)
|
||||
NewLev := getChessLv(ChessMinLv, ChessMaxLv, Diff)
|
||||
NewLev1 := mergeDataCfg.DynamicLev(NewLev, EmitChessId, Color)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user