我覺得無限跳能夠寫出來,表示對遊戲的更深層理解,這種理解更是「玩遊戲」,而不是被遊戲玩。
這篇首次練習寫無限跳。無限跳裡面最重要的觀念就是重力加速度,然後再來是按鍵值。
跳躍的時候,加速度會出現負,然後到頂會變成0,然後往下掉,會再度出現正,於是變開始模糊搜尋找數值,後來發現是在7E0429。
他的概念如下
FC FD FE FF 00 01 02 03 04
FC快向上飛
...
FF慢向上飛
00最高點
如果用鎖定的,改成FC,主角就會一直向上飛,飛到螢幕外,然後判定死亡。
再來是HACK按鍵,找到按鍵值。
上0008
左000a 右0001
下0004
X4000
Y0040 A8000
B0080
按鍵值在7E002F和7E0030
代碼位址在808899
於是嘗試下斷點,找空位放代碼。
A0 80 00 STY 把Y放入80
CC 2F 00 CMY比較002F的值
D0 06 BEQ,如果不相等就跳6格,相等Z變大寫,繼續
A0 FF 00 把Y放入FF
8C 29 04 STY,推入7E0429
4C 9D 88 回去80889d
測試成功,當我按下跳,就會出現慢慢向上飛的HACK動作,首次HACK按鍵完成。
沒有留言:
張貼留言