<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                # 角色扮演游戲 *** 本章用 MongoDB 演示了如何設計角色扮演游戲的數據庫結構,準確來說是具備了角色扮演游戲的基本特征。實際上相關的設計要更復雜和龐大。 首先要考慮存儲玩家角色的基本屬性。 **角色屬性**:主要的固定屬性,如力量,敏捷,智力等參數,還有一些臨時性的屬性,比如 buff 和 Debuff(角色固定屬性的增強和削弱,可能是臨時性或永久性) **背包**:背包中攜帶的裝備及已經被角色裝備中的武器,防具等 **地理位置**:在游戲中角色所處的地理位置。包含地圖的入口出口等信息 **日常信息**:組隊狀態,工會信息,金幣,元寶余額等 考慮到以上信息的隨時變動,以及同時在線人數。這些數據對讀寫延時都必須降到最低,保證在游戲期間的響應速度。 ### MongoDB 設計角色集合 ~~~json { "_id": "ObjectId(...)", "name": "血染沙巴克", "class": "Warrior", "level": 54, "health": [600, 600], "mana": [80, 80], "gold": 57119223, "point": 100, "properties": { "force": 100, "dexterity": 60, "intelligence": 20 }, // "additional": {}, "additional": { "speed": [100, 30] // "speed": [-100, 30] }, "location": { "x": 238, "y": 195 }, "map": { "_id": "ObjectId(...)", "name": "封魔谷", "description": "封魔谷", "exits":{"e": "ObjectId(...)", "w": "ObjectId(...)", "s": "ObjectId(...)", "n": "ObjectId(...)"} }, // "guild": {}, "guild": { "_id": "ObjectId(...)", "name": "葬愛家族" }, // "team": {}, "team": { "leader": { "_id": "ObjectId(...)", "name": "blablabla" }, "members": [ {"_id": "ObjectId(...)", "name": "blablabla"}, {"_id": "ObjectId(...)", "name": "血染沙巴克"}, {"_id": "ObjectId(...)", "name": "blablabla2"} ] }, "armor": [ {"_id": "595b60a5917e874077232d81", "region": "head"}, {"_id": "595b60bb917e8768075db171", "region": "left wrist"}, {"_id": "595b61c4917e87736a72f082", "region": "neck"}, {"_id": null, "region": "right wrist"}, {"_id": null, "region": "left hand"}, {"_id": "595b60ca917e87736a72f081", "region": "right hand"}, {"_id": "595b611e917e87409779a771", "region": "body"}, {"_id": null, "region": "foot"} ], "weapons": [ {"_id": "595b6051917e87407f617ed1", "hand": "both"} ], "backpack": [ {"_id": "595b6051917e87407f617ed1", "name": "屠龍", "number": 1, "parameters": {"solidity": 55, "complete": 60, "attack": 110}}, {"_id": "595b61c4917e87736a72f082", "name": "圣戰項鏈", "number": 1, "parameters": {"solidity": 10, "complete": 14}}, {"_id": "595b60bb917e8768075db171", "name": "圣戰手鐲", "number": 1, "parameters": {"solidity": 15, "complete": 22}}, {"_id": "595b60ca917e87736a72f081", "name": "圣戰戒指", "number": 1, "parameters": {"solidity": 10, "complete": 11}}, {"_id": "595b60a5917e874077232d81", "name": "圣戰頭盔", "number": 1, "parameters": {"solidity": 10, "complete": 17}}, {"_id": "595b611e917e87409779a771", "name": "天魔神甲(男)", "number": 1, "parameters": {"solidity": 71, "complete": 75}}, {"_id": "595b62ae917e8740bb77d761", "name": "烏木劍", "number": 1, "parameters": {"solidity": 11, "complete": 11, "attack": 7}}, {"_id": "595b6311917e875c1f1fa7a1", "name": "烏木劍", "number": 1, "parameters": {"solidity": 12, "complete": 12, "attack": 7}}, {"_id": "595b6318917e8768075db172", "name": "萬年雪霜(捆)", "number": 1, "parameters": {"health": 400, "mana": 120, "gold": 1200}}, {"_id": "595b631c917e8742836885a1", "name": "萬年雪霜", "number": 7, "parameters": {"health": 400, "mana": 120, "gold": 200}} ] } ~~~ 接下來我們來逐個介紹一下集合的字段的用途。 #### 基礎信息 | 列名 | 描述 | | --- | --- | | id | 主鍵 | | name | 昵稱 | | class | 職業 | | level | 等級 | | health | 血量(滿/當前) | | mana | 魔法量(滿/當前) | | gold | 金幣 | | point | 元寶 | | properties.force | 力量 | | properties.dexterity | 敏捷 | | properties.intelligence | 智慧 | | additional.speed | 附加屬性(影響值,持續時間) | #### 位置與地圖 | 列名 | 描述 | | --- | --- | | location.x | 橫向坐標 | | location.y | 縱向坐標 | | map._id | 地圖主鍵 | | map.name | 地圖名稱 | | map.description | 地圖描述 | | map.exits | 地圖出口 | #### 行會與團隊 | 列名 | 描述 | | --- | --- | guild._id | 家族主鍵 | | guild.name | 家族名稱 | | team.leader._id | 團隊隊長用戶主鍵 | | team.leader.name | 團隊隊長名稱 | | team.members | 團隊成員數組 | #### 裝備和背包 | 列名 | 描述 | | --- | --- | armor | 裝備 | | weapons | 武器 | | backpack | 背包 |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看