关于隐藏数据联想到的类型无关

来源:互联网 发布:连接oracle数据库工具 编辑:程序博客网 时间:2024/05/17 18:01

   上个月还是上上个月吧,忘记了,在处理物品额外特殊属性,如加成攻击、加成防御等等等此类,而同类物品的基本数据都是从本地的一个物品表里根据Type或者是名称标识来读取的,那些额外的,通过强化或者是随机Boss掉落的极品属性呢? 通过服务器传送,OK。现在应该明白了游戏世界处理 物品 这类对象的方式了。

    我很杯具,接手群聊系统的一个半成品,千辛万苦的重构了整体模块,然后万恶的难题来了,群聊天面板的聊天信息绘制。Orz,也算是由于底层GUI支持度不大够吧,费了大概3天,除开滚动条 滚动方面有些缺陷外,可以和qq聊天信息文字面板做得一样了(T_T)。这完成后,剩下的难题就是物品超链接到群聊天信息里面去,就是通过超链接,其他客户端能够看到这个物品的基本属性Tips。杯具,主界面聊天面板是已经实现了这个功能的,但是小弟“才疏学浅”,“看不懂”无注释和蛋疼逻辑的前作者(已离职)代码,哀哉,自己又用了2天时间去思考了这个Tips显示用的算法逻辑。在处理这个Tips的时候,有趣的地方来了:

    void AddMsgInfo( CMsgInfo *pMsgInfo )

    {

          tgaChatData TempData;

          ::strcpy( TempData.szInfo, pMsgInfo ) ;

          CItem TempItem;

          ::memcpy( TempItem, pMsgInfo+::strlen(pMsgInfo)+1, sizeof(CItem) );        // 把隐藏数赋值给物品 

    }

    呵呵,希望都看明白了这个操作,这个我被忽悠了很久 应为在 pMsgInfo[::strlen(pMsgInfo)]这位为'/0',我可怜的Vs2008杯具的只能只能感应到 第一个'/0'处,太邪恶了。其他的就不多说了。

    今天早上想到了Lua,只有一种变量,代表任何类型的变量,有感而发,回想这个经历,的却,只不过C++的char类型占一字节,而::memcpy是按一字节拷贝。突然觉得现在数据 类型也是一种很抽象的东东,只不过被C++拿来定义字节大小,而我们的单元是BYTE,

而BYTE上面才有char、int、float 等等等。- - 写得好混乱。总之,想表达的是似乎从程序语法层面来讲,类型也是一种抽象的? 而int这等只是特列的对象,不然Lua也无法做到那么的干净 无类型剩有类型。一就代表所有。。。。

   以上纯属YY- -

原创粉丝点击