✔ 最佳答案
閃光精靈公式:
A = 訓練員ID(上) xor 訓練員ID(下) xor 精靈性格值(上) xor 精靈性格值(下)
如果 A <= 7,便是閃光精靈
例子1:
性格值用回之前的 0034F5EA(h) ,方便計算,轉為二進制:
0000 0000 0011 0100 1111 0101 1110 1010(b)
訓練員ID就 10A99999(h) ,方便計算,轉為二進制:
0001 0000 1010 1001 1001 1001 1001 1001(b)
0000 0000 0011 0100 xor 1111 0101 1110 1010 xor 0001 0000 1010 1001 xor 1001 1001 1001 1001
= 01 ......(b)
第二個位已經是 1,即是不會是閃光精靈了...
例子2:
性格值用回之前的 0000 0000 0011 0100 1111 0101 1110 1010(b)
訓練員ID就用 1010 1110 0101 1110 0101 1011 1000 0111(b)
0000 0000 0011 0100 xor 1111 0101 1110 1010 xor 1010 1110 0101 1110 xor 0101 1011 1000 0111
= 0000 0000 0000 0011(b) = 3 <= 7,便是閃光精靈了!
最後,你可能會問:
要與訓練員ID來計,通信了怎樣辦?
不用怕,捕捉精靈時會紀錄了訓練員ID,不是計現在精靈持有人的ID。
當然,原本與你是天生一對性格數值的精靈蛋,可能會因通信給別人,出生時便不是閃光。
小結:
雖然閃光精靈的計算是使用性格值和訓練員ID,
但所有訓練員ID遇到閃光精靈的機會率是一樣!
而且,精靈性格和閃光精靈亦沒有必然的關係!
遇到閃光精靈機會率:
首先,必須明白:訓練員ID已經固定,但是甚麼也沒有關係。
最重要的是,你遇到的精靈的性格值是與你的ID天生一對,便能夠成為閃光精靈。
但是不等於固定一種性格才能和你天生一對,反之, 25 種性格都可以是!
以二進制計算,如你的訓練員ID頭一個位與第十七個位 XOR 是 1 ,
你需要遇到的性格數值便是「頭一個位是 1 ,第十七個位是 0」或
「頭一個位是 0 ,第十七個位是 1」;
相反,如你的訓練員ID頭一個位與第十七個位 XOR 是 0 ,
你需要遇到的性格數值便是「頭一個位是 0 ,第十七個位是 0」或
「頭一個位是 1 ,第十七個位是 1」;
總而言之,每個數位都是 1/2 機會,而閃光精靈需要頭十三個位都是 0 ,
即 (1/2)^13 = 1/8192 ~= 0.00012207...