Hatena::ブログ(Diary)

oupoの日記

2010-06-18

ずつき

23:41

※ いつものことですが間違っている可能性があります

出てくるポケモン乱数からテーブルのインデックスへの変換

0-490
50-641
65-792
80-893
90-944
95-995

エンカウントするテーブルの決定

  • 座標リストに載っていない木の場合はエンカウントしない
  • 座標リストで"special tree"となっている木の場合テーブルは2
  • 32bitのトレーナーID(上位16bitが裏ID,下位16bitが表ID)を10で割った余りをAと置く
  • 木のNoをBと置く
  • 以下の配列の値。ただし-1のときはエンカウントしない
木の数が1のとき

以下の配列インデックス: A の要素

[ 0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
木の数が2のとき

以下の配列インデックス: A*2+B の要素

[ 0, 1,
  1, 0,
  0, 1,
  1, 0,
  0, 1,
  1, 0,
  0, 1,
  1, 0,
  0, 1,
  1, 0]
木の数が3のとき

以下の配列インデックス: A*3+B の要素

[ 0, 1,-1,
  0,-1, 1,
  1, 0,-1,
  1,-1, 0,
 -1, 0, 1,
 -1, 1, 0,
  0, 1,-1,
  0,-1, 1,
  1, 0,-1,
  1,-1, 0]
木の数が4のとき

以下の配列インデックス: A*4+B の要素

[-1, 0, 0, 1,
  1,-1, 0, 0,
  1, 1,-1, 0,
  0, 1, 1,-1,
  0, 0, 1, 1,
 -1, 0, 1, 0,
  1,-1, 0, 1,
  0, 1,-1, 0,
  1, 0, 1,-1,
  0, 1, 0, 1]
木の数が5以上のとき

以下の配列インデックス: A*5+(B%5) の要素

[-1, 0, 0, 1, 1,
  1,-1, 0, 0, 1,
  1, 1,-1, 0, 0,
  0, 1, 1,-1, 0,
  0, 0, 1, 1,-1,
 -1, 0, 1, 0, 1,
  1,-1, 0, 1, 0,
  0, 1,-1, 0, 1,
  1, 0, 1,-1, 0,
  0, 1, 0, 1,-1]

追記 (2010-06-19T00:02:56+09:00)

10個ずつ改行していたのがまるでB*10+Aで並んでいるかのようで紛らわしいので修正しました

トラックバック - http://d.hatena.ne.jp/oupo/20100618/1276872101