關於隱藏數據聯想到的類型無關

   上個月還是上上個月吧,忘記了,在處理物品額外特殊屬性,如加成攻擊、加成防禦等等等此類,而同類物品的基本數據都是從本地的一個物品表裏根據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- -

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章