|
发表于 2009-7-31 19:28:02
|
显示全部楼层
pha ' ]& M& V/ a* u! P) u2 ?8 p
lda 按键内存
; d7 ~/ N, n2 ]/ r0 Mcmp #$20 SELECT键0 t( R/ K7 Y R& R, d
bne end
$ w1 E' w7 F7 n, x, i0 Ninc 子弹内存9 o3 w ~0 ]: J- f5 B5 v4 A
lda 子弹内存. [) R- s2 H5 ^+ `+ K* T4 i+ x2 |
cmp #$06 假设有5种子弹,那么到了6就变0) G! H3 {# `/ k2 m8 W% y
bne end4 O$ S: O) d; s' m5 J
lda #$009 m2 [9 x6 ?" O9 @% y
sta 子弹内存; J! n+ h6 s, U; [' W( }
end: `5 G% M6 V/ g! K5 S. u) R. a
pla
! J- A# X: z# ^8 Erts8 v- M1 c l* B/ L/ l# L8 }" I& \
9 R i7 ^% C; [魂斗罗这个游戏 子弹代码是 00 01 02 03............. 吃了加速后是 10 11 12 13..................
. u) I a% c# n$ z这里的判断还要多判断几次
9 a2 i2 r. B6 _& H& ?- u X按键的映射内存有两个 一个是按一次后自动归0 这样的效果就是 即使按住也只运行一次
7 I* z4 T- v) r/ {* O1 |# M8 ^另一个内存是按住之后是每个周期都运行的,那样的话就是按一下就运行了N次了,基本选不到你要的武器, 效果就是 随机抽到某子弹,因为按一次就加了N次了
6 x p4 D% E% F- {两个内存是在一起的 中间隔开一个字节~~) ^ T& ?# _! V5 J
当然也可以写程序处理这个问题,只是没必要兜圈子了 |
|