( ˘・з・) 再次來以程式人員的角度談談PM的資料儲存

本文亦發布於巴哈姆特
千呼萬喚的『Pokémon HOME』更新終於要來了
不過還沒有確切日期,只說是「近日」,但已經放出更多連動的消息

『劍/盾』、『晶燦鑽石/明亮珍珠』和『傳說 阿爾宙斯』可互相連結,如果軟體有該隻的數據就可以放入。

例如:
『劍/盾』的皮卡丘可以傳到『晶燦鑽石/明亮珍珠』或『傳說 阿爾宙斯』
洗翠的樣子無法傳到『劍/盾』或『晶燦鑽石/明亮珍珠』
來以程式人員的角度談談,根據這次情報,一隻PM到底要記錄多少資料(尤其在招式這部分)
首先先看看,在這次的HOME情報以前,一隻PM至少儲存了以下資訊

PS:以下提到招式時,都假設招式是以 int 儲存,保險起見,都特別以橘色斜體標示

  • 種類(例如該PM是妙蛙種子還是超夢)
  • 原始的個體值:int[6](這裡指的是沒有用王冠變更前的數值)
  • 實際的個體值:int[6]
  • 努力值:int[6]
  • 訓練師ID
  • 訓練師名稱
  • 訓練師性別
  • 國籍
  • 個性
  • 色違值
  • 親密度:Map(不同的玩家會有不同值)
  • 捕捉的版本
  • 是否由蛋孵出
  • 出生地點
  • 捕捉日期
  • 捕捉球種
  • 是否感染病毒
  • 招式:int[4]
  • 可以回憶的特殊招式:int[](例如特定情況下,可以回憶特殊的遺傳招的PM)
  • 阿爾的奮鬥值:int[6]

但根據這次 HOME 的處理,招式變成根據傳入的版本來處理
這邊先假設傳到他版後,特殊學習招(招式機、教學……等)能保留就保留的話
在招式上面,一隻PM可能會這樣儲存
  • 招式:Map<版本, int[4]>
  • 可以回憶的特殊招式:Map<版本, int[]>
  • 已習得特殊招式之位置:Map<int, Map<版本, int[]>>(紀錄說特殊學習招到底是在該PM的第幾個招式,例如用招式機所學到的是在第三個招式格……等)
  • 招式額外資訊(例如是否在阿爾已經精通)


例如有一隻BDSP的火球鼠(Lv50),招式格有:
  1. 閃焰衝鋒(遺傳,假設這不是可以回憶的特殊招式)
  2. 火焰輪
  3. 煉獄
  4. 燕返(招式機)

則在招式方面可能會這樣儲存
  • 招式:
    • BDSP
      1. 閃焰衝鋒
      2. 火焰輪
      3. 煉獄
      4. 燕返
  • 可以回憶的特殊招式:無
  • 已習得特殊招式之位置
    • 1:閃焰衝鋒
    • 4:燕返
  • 招式額外資訊:無

傳入阿爾後,根據先前的假設,閃焰衝鋒燕返都能夠保留,那就會變成
  • 招式:
    • BDSP
      1. 閃焰衝鋒
      2. 火焰輪
      3. 煉獄
      4. 燕返
    • 阿爾宙斯
      1. 閃焰衝鋒
      2. 過熱
      3. 噴射火焰
      4. 燕返
  • 可以回憶的特殊招式:無
  • 已習得特殊招式之位置
    • 1:閃焰衝鋒
    • 4:燕返
  • 招式額外資訊:
    • 閃焰衝鋒:
      • 精通:false
    • 燕返:
      • 精通:false



假設把燕返換成挖洞(阿爾宙斯無此招式),要就無法傳入阿爾;要就變成能傳入,但挖洞會被取代
若為後者,那可能變成:
  • 招式:
    • BDSP
      1. 閃焰衝鋒
      2. 火焰輪
      3. 煉獄
      4. 挖洞
    • 阿爾宙斯
      1. 閃焰衝鋒
      2. 高速星星
      3. 過熱
      4. 噴射火焰
  • 可以回憶的特殊招式:無
  • 已習得特殊招式之位置
    • BDSP:
      • 1:閃焰衝鋒
      • 4:挖洞
    • 阿爾宙斯
      • 1:閃焰衝鋒
  • 招式額外資訊:
    • 閃焰衝鋒:
      • 精通:false


有興趣的人,可以想想看,要是我傳入劍盾或是阿爾後,第四招換掉,架構又會變得怎樣

我想就算不懂程式,也應該能看出,僅僅在招式這邊,到底有多複雜了

而這複雜狀況也會影響到未來傳入朱紫

最基本的,傳入朱紫時,對於一隻劍盾、BDSP、阿爾都待過的PM,傳入後的招式到底要以誰為主?

而傳入後,是否能再傳回第8世代?(我想高機率是不能,但這種事說不準
若可以,那招式就還要多存一份朱紫的資料,整個結構又更複雜了

延伸閱讀

沒有留言:

張貼留言

小提示:留言時,可以使用粗體(<b>)、斜體(<i>)、超連結(<a href="網址"> </a>)。另外,以「名稱/網址」留言時,網址可以留空的。