zoukankan      html  css  js  c++  java
  • 二进制数的位运算,角色权限,多种账号来源


    问题描述
    之前不同账号组织来源只可接各自账号类型的游戏任务,表中以任务类型type字段区分,现提出需求:不同账号组织可以接受相同的任务。


    原因分析
    若只有少量的组织类型,以type字段,十进制数来区别即可,但当组织类型多起来,且任务所属混杂时,定义枚举来区别就很麻烦,因此需要一个更为简洁的方式。


    解决方案
    1、给每个组织定义类型并转成二进制数存入数据库,例如UU账号类型1,则该组织app_id为1,网通账号类型2,则app_id为10,以此类推。

    2、给每个角色定义组织ID(app_id),如果角色1只能接UU任务,则将UU的app_id转为十进制数,等于1,如果角色2可接UU和网通两种类型的任务,则其app_id等于(1+10)转换为十进制数3

    3、代码中通过位运算来判断角色上线后,可接哪些任务类型,例如角色A的app_id = 3,与UU、网通类型进行位运算并用if来判断:

    if(3|1){ //可接UU任务 } // = 3
    if(3|2){ //可接网通任务 } // = 3

     

  • 相关阅读:
    POJ_1698_Alice's Chance
    透过比特币看移动互联网创业产品立项的关键要素
    localhost与127.0.0.1的区别
    web service初探
    Oracle导出DMP文件的两种方法
    html大小写问题
    浏览器端数据存储
    CSS滚动条样式设置
    浅谈forword和sendRedirect
    Poi对excel的基本操作
  • 原文地址:https://www.cnblogs.com/yourstars/p/15666516.html
Copyright © 2011-2022 走看看