|
发表于 2009-7-31 19:28:02
|
显示全部楼层
pha 3 b; k# n7 n( |! Z! T
lda 按键内存+ l6 m* }: |% N, L) e% ]8 U
cmp #$20 SELECT键1 F, F( m" M8 B% R: @) i9 v* s4 r! b
bne end
: Y! E7 h+ M7 P- }inc 子弹内存- Q6 t; ?6 v0 a- J! `/ \
lda 子弹内存' y& D* v! u0 ~( M% {6 k B) S! c
cmp #$06 假设有5种子弹,那么到了6就变0
3 u; D3 _" b4 ~% Q+ _bne end6 j$ C+ Q7 E+ r6 ^$ R* k. r {
lda #$00
- k0 T9 u" `) Q9 a) Wsta 子弹内存
3 B3 C6 W/ w4 |& M: `6 Wend:; S8 q* I2 {3 E# \
pla
$ n* W. N, I( H' ]6 m# E/ ^1 [ trts! I# f8 }; y! b1 C, T4 I
0 Y+ F$ S. j5 C3 `/ @
魂斗罗这个游戏 子弹代码是 00 01 02 03............. 吃了加速后是 10 11 12 13.................. # y2 X* ~# F# t; ]. q
这里的判断还要多判断几次
, c3 R5 V: u+ M) d, |- q9 k按键的映射内存有两个 一个是按一次后自动归0 这样的效果就是 即使按住也只运行一次
2 j2 X7 n, t8 U! G% V另一个内存是按住之后是每个周期都运行的,那样的话就是按一下就运行了N次了,基本选不到你要的武器, 效果就是 随机抽到某子弹,因为按一次就加了N次了
' q9 }! v7 o. ]两个内存是在一起的 中间隔开一个字节~~$ m0 h6 p2 _7 U# |; U# X
当然也可以写程序处理这个问题,只是没必要兜圈子了 |
|