do local goodsprop= { RECORDS={ []={ BuyGold= , RecoverPrice= , Value= , Param2= , UseTimesPerDay= , MainKindID= , Param1= , BuyCoin= , UseLevel= , Name_TW="初級經驗書", Name_CN="初级经验书", ID= , UseCD= , Icon=", Dsc_CN="增加100点经验&quo…
一.游戏物品/道具系统数据模型设计特点 为了让游戏更加的丰富,我们1201团队的新手机游戏设计了道具系统.于是丰富了游戏.取悦了玩家,哭了开发——道具/物品数据子系统是简单的.复杂的.不确定的: 简单,说起来不就是选择一个或多个数据库产品,然后定义一种数据模型,然后增.删.改.查. 复杂,物品/道具可以在细分为装备.时装.坐骑.宝石.buff等等,每类物品有不同的属性需求,于是: 首先物品数据是游戏核心数据里数据量最大.操作最频繁.数据结构最多元化的数据 如果用一种数据表结构,那么会浪费很多的字…
我们正在开发一款新手游,里面有道具,之前也写了一篇博文记录了下我们的设计思路,但是国庆到了,于是我有了时间继续纠结这个问题. 其实我主要是在到底是用mysql还是mongodb上纠结.这个复杂.痛苦.找虐的挣扎过程就不说了,最终我选择了mysql(可能我还是比较保守吧, ^-^). 现在将我们最终方案记录下来备忘. 一.道具buff存储.使用 所有buff都以如下类似键值对的方式拼接成字符串后存于mysql数据库: atk+30;def-20;hp+30 某条原始道具数据会在redis里缓存(具…
spring-boot配置文件使用加密方式保存敏感数据 application.yml spring: datasource: username: dbuser password: '{cipher}FKSAJDFGYOS8F7GLHAKERGFHLSAJ' 本地启动spring cloud config server,然后访问方法/encrypt得到密文 curl localhost:8888/encrypt -d mysecret 682bc583f4641835fa2db009355293…
目前JAVA实现HTTP请求的方法用的最多的有两种:一种是通过HTTPClient这种第三方的开源框架去实现.HTTPClient对HTTP的封装性比较不错,通过它基本上能够满足我们大部分的需求,HttpClient3.1 是 org.apache.commons.httpclient下操作远程 url的工具包,虽然已不再更新,但实现工作中使用httpClient3.1的代码还是很多,HttpClient4.5是org.apache.http.client下操作远程 url的工具包,最新的:另一…
弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的.弱表的定义是:A weak table is a table whose elements are weak references,元素为弱引用的表就叫弱表.有弱引用那么也就有强引用,有引用那么也就有非引用.我们先要厘这些基本概念:变量.值.类型.对象. (1)变量与值:Lua是一个dynamically typed language,也就是说在Lua中,变量没有类型,它可以是任何东西,而值有类型,所以Lua中没…
弱表(weak table)是一个很有意思的东西,像C++/Java等语言是没有的.弱表的定义是:A weak table is a table whose elements are weak references,元素为弱引用的表就叫弱表.有弱引用那么也就有强引用,有引用那么也就有非引用.我们先要厘这些基本概念:变量.值.类型.对象. (1)变量与值:Lua是一个dynamically typed language,也就是说在Lua中,变量没有类型,它可以是任何东西,而值有类型,所以Lua中没…
类Python的List lua的优美之处在于把数组和关联数组都用table实现了(Python中叫list和dict,C++中叫vector和map). 一般我们把数字索引的table叫做list.penlight里的List模仿了Python,看起来从Python借鉴是个好主意. 下面是一个List的例子,List实现了__tostirng,因此可以输出自己.  ) ),},}{,,,},){,,,,} ,,,} )  ) true > = l:reverse()  ---> note: …
上节说到Pipeline会拦截item,根据设置的优先级,item会依次经过这些Pipeline,所以可以通过Pipeline来保存文件到json.数据库等等. 下面是自定义json #存储item到json文件 class JsonWithEncodingPipeline(object): def __init__(self): #使用codecs模块来打开文件,可以帮我们解决很多编码问题,下面先初始化打开一个json文件 import codecs self.file = codecs.op…
设计思路采用生产者消费者模式,生产者生产报表消费者消费报表生成pdf文件其中报表以html形式存储在线程安全列表中.使用到技术有:多线程协作,线程池,线程安全,html 生成pdf. 一.生产者生成html模版,方式通过多线程将数据和html模版整合技术是使用freemarker. 1.ValPdfProduce package hk.buttonwood.ops.report; import java.io.File; import java.util.HashMap; import java…