| | |
| | | # 由于float会有不精确的现象出现xxx.9999999或xxx.0000000000001的问题,所以这里计算出的结果向上取整
|
| | | return int(math.ceil(round(floatRMB * rate)))
|
| | |
|
| | | #64进制符号,前端用*号补空
|
| | | symbols64 = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/'
|
| | | def Convert10To64(number):
|
| | | """将十进制数转换为64进制"""
|
| | | if number < 0:
|
| | | number = abs(number)
|
| | | result = ''
|
| | | while number > 0:
|
| | | result = symbols64[number % 64] + result
|
| | | number //= 64
|
| | | return result or '0'
|
| | |
|
| | | def Convert64To10(number64):
|
| | | """将64进制数转换为十进制"""
|
| | | value = 0
|
| | | for digit in number64:
|
| | | value = value * 64 + symbols64.index(digit)
|
| | | return value
|
| | |
|
| | | def ParseSetting(playerSetting, index, cLen=1):
|
| | | """解析玩家设置存储"""
|
| | | s = playerSetting[index:index+cLen]
|
| | | s = s.replace("*", "") # 前端*代表空
|
| | | if not s:
|
| | | return 0
|
| | | return Convert64To10(s)
|
| | |
|
| | | def ParseSetting_AutoSkillList(playerSetting, defaultSkillList):
|
| | | '''解析玩家设置 - 自动释放技能顺序列表
|
| | | @param playerSetting: 玩家设置保存串
|
| | | @param skillOrderList: 技能默认顺序列表
|
| | | '''
|
| | | playerSkillSetList = []
|
| | | SkillMatchPage = ParseSetting(playerSetting, 30, 1)
|
| | | fromIndex = 32 + SkillMatchPage * 15
|
| | | indexNum = 0
|
| | | for index in range(fromIndex, fromIndex + 15):
|
| | | skillIndex = indexNum
|
| | | v = ParseSetting(playerSetting, index, 1)
|
| | | if v:
|
| | | skillIndex = v - 1
|
| | | |
| | | if skillIndex >= len(defaultSkillList):
|
| | | break
|
| | | skillID = defaultSkillList[skillIndex]
|
| | | playerSkillSetList.append(skillID)
|
| | | indexNum += 1
|
| | | return playerSkillSetList
|
| | |
|