异常校验
This commit is contained in:
parent
070143be73
commit
d556686fe7
@ -52,28 +52,32 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.TrollGetListReq)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// 计算经过了多少个周期
|
/// 计算经过了多少个周期
|
||||||
sz := this.configure.GetTrollAllTrain()
|
szTrain := this.configure.GetTrollAllTrain()
|
||||||
var (
|
var (
|
||||||
circletime int32 // 循环一个周期的时间
|
circletime int32 // 循环一个周期的时间
|
||||||
circleCount int32 // 循环的次数
|
circleCount int32 // 循环的次数
|
||||||
leftTime int32 // 离到达最后一站剩余的时间
|
leftTime int32 // 离到达最后一站剩余的时间
|
||||||
index int32 // 总共经过了多少次车站
|
index int32 // 总共经过了多少次车站
|
||||||
)
|
)
|
||||||
for _, v := range sz {
|
for _, v := range szTrain {
|
||||||
circletime += v
|
circletime += v
|
||||||
}
|
}
|
||||||
|
if int32(len(szTrain)) < trolltrain.TarinPos {
|
||||||
if int32(configure.Now().Unix()-trolltrain.RefreshTime) < sz[trolltrain.TarinPos-1] {
|
this.module.Errorf("TarinPos error: TarinPos:%d,maxLen:%d", trolltrain.TarinPos, len(szTrain))
|
||||||
|
code = pb.ErrorCode_ConfigNoFound
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if int32(configure.Now().Unix()-trolltrain.RefreshTime) < szTrain[trolltrain.TarinPos-1] {
|
||||||
session.SendMsg(string(this.module.GetType()), TrollGetListResp, &pb.TrollGetListResp{Data: trolltrain})
|
session.SendMsg(string(this.module.GetType()), TrollGetListResp, &pb.TrollGetListResp{Data: trolltrain})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
trainNum := this.configure.GetTrollMaxTraintNum()
|
trainNum := this.configure.GetTrollMaxTraintNum()
|
||||||
trolltrain.Shop = make(map[int32]int32) // 清空商人的购买数据
|
trolltrain.Shop = make(map[int32]int32) // 清空商人的购买数据
|
||||||
update["shop"] = trolltrain.Shop
|
update["shop"] = trolltrain.Shop
|
||||||
circleCount = (int32(configure.Now().Unix()-trolltrain.Ctime) / circletime) // 经过的周期数
|
t := int32(configure.Now().Unix() - trolltrain.Ctime)
|
||||||
|
circleCount = t / circletime // 经过的周期数
|
||||||
c := int32((configure.Now().Unix() - trolltrain.Ctime)) / circletime
|
leftTime = t % circletime
|
||||||
if trolltrain.Circle != c {
|
if trolltrain.Circle != circleCount {
|
||||||
trolltrain.SurpriseID = make(map[int32]int32, 0)
|
trolltrain.SurpriseID = make(map[int32]int32, 0)
|
||||||
n, _ := rand.Int(rand.Reader, big.NewInt(int64(trainNum)))
|
n, _ := rand.Int(rand.Reader, big.NewInt(int64(trainNum)))
|
||||||
goods := this.configure.GetTrollAllGoods()
|
goods := this.configure.GetTrollAllGoods()
|
||||||
@ -84,10 +88,8 @@ func (this *apiComp) GetList(session comm.IUserSession, req *pb.TrollGetListReq)
|
|||||||
update["circle"] = trolltrain.Circle
|
update["circle"] = trolltrain.Circle
|
||||||
}
|
}
|
||||||
|
|
||||||
leftTime = (int32((configure.Now().Unix() - trolltrain.Ctime)) % circletime)
|
|
||||||
|
|
||||||
index = circleCount * trainNum // 计算火车的位置信息
|
index = circleCount * trainNum // 计算火车的位置信息
|
||||||
for _, v := range sz {
|
for _, v := range szTrain {
|
||||||
if leftTime <= v {
|
if leftTime <= v {
|
||||||
trolltrain.RefreshTime = configure.Now().Unix()
|
trolltrain.RefreshTime = configure.Now().Unix()
|
||||||
trolltrain.RangeId = (index % maxCoefficient) + 1
|
trolltrain.RangeId = (index % maxCoefficient) + 1
|
||||||
|
Loading…
Reference in New Issue
Block a user