go_dreamfactory/modules/entertainment/xxl_test.go

240 lines
5.1 KiB
Go

package entertainment_test
import (
"context"
"fmt"
"go_dreamfactory/comm"
"go_dreamfactory/lego"
"go_dreamfactory/lego/base/rpcx"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/log"
"go_dreamfactory/modules/entertainment"
"go_dreamfactory/pb"
"go_dreamfactory/services"
"go_dreamfactory/sys/configure"
"go_dreamfactory/sys/db"
"math"
"reflect"
"strings"
"testing"
"time"
flag "github.com/spf13/pflag"
)
var service core.IService
var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp()
type TestService struct {
rpcx.RPCXService
}
func newService(ops ...rpcx.Option) core.IService {
s := new(TestService)
s.Configure(ops...)
return s
}
//初始化相关系统
func (this *TestService) InitSys() {
this.RPCXService.InitSys()
// if err := log.OnInit(); err != nil {
// panic(fmt.Sprintf("Sys log Init err:%v", err))
// } else {
// log.Infof("Sys log Init success !")
// }
if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil {
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
} else {
log.Infof("init sys.db success!")
}
if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("F:/work/go/go_dreamfactory/bin/json")); err != nil {
panic(fmt.Sprintf("init sys.configure err: %s", err.Error()))
} else {
log.Infof("init sys.configure success!")
}
}
var (
conf = flag.String("conf", "../../bin/conf/worker_1.yaml", "获取需要启动的服务配置文件") //启动服务的Id
)
type Service struct {
services.ServiceBase
}
func NewService(ops ...rpcx.Option) core.IService {
s := new(Service)
s.Configure(ops...)
return s
}
func t() {
ch := make(chan struct{})
//ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
ctx, cancel := context.WithCancel(context.Background())
go func(ctx context.Context) {
for {
select {
case <-ctx.Done():
ch <- struct{}{}
return
default:
fmt.Println("x...")
}
time.Sleep(500 * time.Millisecond)
}
}(ctx)
go func() {
time.Sleep(3 * time.Second)
cancel()
}()
<-ch
fmt.Println("结束")
}
func Test_Main(t *testing.T) {
flag.Parse()
s := NewService(
rpcx.SetConfPath(*conf),
rpcx.SetVersion("1.0.0.0"),
)
s.OnInstallComp( //装备组件
services.NewGateRouteComp(), //此服务需要接受用户的消息 需要装备网关组件
)
//go func() {
lego.Run(s, //运行模块
entertainment.NewModule(),
)
//}()
print(math.Pow(2, 238))
// sz := utils.RandomNumbers(0, 2, 2)
// fmt.Printf("xxxx%v", sz)
m := new(entertainment.MapData)
m.InitMap(nil, 1)
m.SetMap()
m.Debugf()
fmt.Printf("xxxx %v\n", m.SkillManYan(24, 0))
//m.SkillUp(24, 1, 3, 7, true)
b := m.GetFireBoom(1, 7)
fmt.Printf("xxxx %d\n", b)
var vids int
for index := 7 - 1; index >= 0; index-- {
for j := 0; j < 7; j++ {
vids = index + j*7
fmt.Printf("%d ", vids)
}
fmt.Printf("\n")
}
for i := 0; i < 4; i++ {
b := m.GetFireBoom(30, int32(i)+5)
fmt.Printf("xxxx %d\n", b)
}
var mids map[int]struct{}
mids = make(map[int]struct{}, 0)
m.SkillManYan(35, 0)
for i := 0; i < 4; i++ {
dd := m.SkillManYan(24, int32(i))
for k := range dd {
for s := range m.SkillManYan(int32(k), int32(i)) {
mids[s] = struct{}{}
}
}
}
for b := range mids {
fmt.Printf("xxxx %d\n", b)
}
fmt.Printf("xxxx %v\n", m.GetBoomElem(46))
m.Debugf()
// b := m.CheckAndRefreshPlat()
// fmt.Printf("xxxx%v", b)
//m.RedsetPlatData()
m.SwapGirde(15, 22)
m.Debugf()
m.CheckMap(1, false)
m.Debugf()
// for i := 0; i < 100; i++ {
// m := new(entertainment.MapData)
// m.InitMap(nil)
// //m.SetMap()
// m.SetIndelibilityPlat()
// d, _ := m.CheckMap(0, true)
// if len(d) > 0 {
// fmt.Println("===========有消除")
// m.Debugf()
// }
// if m.CheckAndRefreshPlat() {
// m.Debugf()
// fmt.Println("xxxx")
// }
// }
//var szMap []*pb.MapData
// if bSwap, m := m.AiSwapGirde(); bSwap {
// szMap = append(szMap, m...)
// }
m.SkillUp(0, 1, 2, 7, true)
m.SwapGirde(1, 8)
//m.CheckMap(1)
m.DropGirde()
// if m, _ := m.CheckMap(1, true); score > 0 {
// szMap = append(szMap, m...)
// }
m.SwapGirde(1, 11)
m.DropGirde()
//m.CheckMap(1)
time.Sleep(time.Second * 2000)
//equipment.CloneEquipment()
}
func GetMap() map[int32]int32 {
return nil
}
func copyPoint(m *pb.DBHero) *pb.DBHero {
vt := reflect.TypeOf(m).Elem()
fmt.Println(vt)
newoby := reflect.New(vt)
newoby.Elem().Set(reflect.ValueOf(m).Elem())
newoby.Interface().(*pb.DBHero).Lv = 1111
return newoby.Interface().(*pb.DBHero)
}
func wordSepNormalizeFunc(f *flag.FlagSet, name string) flag.NormalizedName {
from := []string{"-", "_"}
to := "."
for _, sep := range from {
name = strings.Replace(name, sep, to, -1)
}
return flag.NormalizedName(name)
}
// 初始化worker需要的一些系统工具
func (this *Service) InitSys() {
this.ServiceBase.InitSys()
//初始化配置中心系统 每个服务都会用到的就在这个初始化就好
//存储系统
if err := db.OnInit(this.GetSettings().Sys["db"], db.SetServiceId(this.GetTag())); err != nil {
panic(fmt.Sprintf("init sys.db err: %s", err.Error()))
} else {
log.Infof("init sys.db success!")
}
}