设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 590|回复: 11

[原创] [FC][魂斗罗][互相伤害][END]

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2020-5-5 15:40:24 | 显示全部楼层 |阅读模式
先祝福大家五一快乐, 虽然来晚了哈, 废话就不多说了
7 r* ?) c% y0 v8 f; I9 S  N1.选择键切换子弹(为了更快杀死对方)
' ^! z5 t  C  M% I" i8 ]2.杀死对方自己加命
6 i/ L4 x" s3 V7 y! H
  1. ;[FC][魂斗罗][互相伤害][END]
    / @" Y7 T3 X* ?: W
  2. ;20200505
      q8 O) A" l$ L) l

  3. 5 Y( d" S5 M( i; \2 k3 \
  4. .ORG $8960# x) G$ O6 z  v2 i* a1 Z. k

  5. # Y! Y+ }6 O& c
  6. P1_STATUE          = $90      ;状态" H" G4 g5 j$ A: z: a4 j9 T
  7. P1_INVINCIBLE_A    = $AE      ;透明无敌; s" {# g4 y; N, c+ z) m+ E
  8. P1_INVINCIBLE_B    = $B0      ;闪烁无敌' b9 d% m  R* `* i4 y% @* e0 \
  9. P1_REST            = $32      ;P1剩余生命; M0 ?% O/ U0 T* y0 l7 z
  10. LIVE_VALUE         = $01      ;活着数值
    4 X4 P9 ]/ {& W; p. r  N* H
  11. P1_ACTION          = $D6      ;趴下: W8 O$ d  M+ y/ N
  12. P1_FACE            = $D8      ;P1面向9 R1 ]6 B4 K  \' C
  13. LAY_VALUE          = $17      ;趴下数值
    ; ]. H' x" p, p  s) g2 C
  14. JUMP_VALUE         = $08      ;趴下数值
    ) v( R2 I- ^1 w8 o9 j
  15. DIVING_VALUE       = $18      ;潜水数值
    " d5 w" I$ v9 [, u% g6 D
  16. P1_X               = $0334    ;P1 X坐标
    ) X: x- y1 R7 E6 p
  17. P2_X               = $0335    ;P2 X坐标
    ) j$ ^  \. R3 g5 z
  18. P1_Y               = $031A    ;P1 Y坐标2 [+ |/ T. y: I2 t+ j
  19. P2_Y               = $031B    ;P2 Y坐标# m  C5 {7 C0 R8 O
  20. Bullet_X           = $03C8    ;子弹X坐标
    # \  z% A- e5 g3 U0 O
  21. Bullet_Y           = $03B8    ;子弹Y坐标0 C( q% g+ u/ H1 b4 e: q% J
  22. Bullet_Owner       = $0448    ;子弹所属者
    / S8 U$ l  u1 H) `
  23. Hit_Offet_X        = $01C0    ;命中误差X
    - P7 F7 s4 A0 i
  24. Hit_Offet_Y        = $01C1    ;命中误差Y
    7 ?2 H7 |6 S" n3 ^2 Z- f7 W
  25. State_Offet_X      = $01C2    ;动作误差X
    7 e) n3 _4 q9 _& I8 `
  26. State_Offet_Y      = $01C3    ;动作误差X
    , \% E3 _" O4 S) U6 B! \
  27. Offet_X_Check      = $01C4    ;坐标差X
    * s. L- N: w2 S
  28. Offet_Y_Check      = $01C5    ;坐标差Y. C: g; q* D; o, H+ ?; x5 u2 |, i: V
  29. Reg_X_Temp         = $01C6    ;寄存器X暂存) \5 e* ^* M' J
  30. Reg_Y_Temp         = $01C7    ;寄存器Y暂存! e4 O/ L7 ~) s* L! L& V/ @0 C8 T
  31. OFFET_X_STAND      = $06      ;坐标差X值
    6 ?; N, U1 X7 a( z3 C! O
  32. OFFET_Y_STAND      = $10      ;坐标差Y值
    0 x$ ~: G- f6 m) a' ?
  33. OFFET_X_LAY        = $10      ;趴下坐标差X值$ W4 D% Q3 m2 q, k7 e" H. `
  34. OFFET_Y_LAY        = $07      ;趴下坐标差Y值6 P2 m4 g( l2 M! t4 z) K; J- v( S1 t
  35. OFFET_X_JUMP       = $08      ;跳跃坐标差X值: \  f( R( s8 e
  36. OFFET_Y_JUMP       = $08      ;跳跃坐标差Y值
    * J, r8 \6 p+ M' j
  37. STATE_X_DIVING     = $02      ;潜水动作误差X值, M0 D' i% M; \8 d) w: M9 R& Z
  38. STATE_Y_LAY        = $04      ;趴下动作误差X值  `1 e8 E' x- R* i1 b
  39. ) R- s% f0 i) a0 Z" Q7 o
  40. ;武器切换4 k6 C  n* Z7 p) o) m
  41. Btn_Once = $F5       ;单次按键5 o8 E) [3 V" q1 ]: n
  42. ;========================================
    3 b( I8 z5 j/ m4 C' y
  43. ChangeWeapon:1 q- Z4 z; a$ p+ t9 b
  44. LDA Btn_Once,X
    ' P+ b+ L& ?8 q( m1 b4 _% l- J
  45. CMP #$20
    / K! r' |" t: ?
  46. BNE ChangeWeaponEnd
    ! J& ^7 z3 s$ w# N/ S2 @; L5 H6 Y
  47. LDA $AA,X" ^: g: p( H7 B# p
  48. ORA #$10
    , m/ U/ f/ N5 d# v; w
  49. STA $AA,X! t" I$ K; P  j& F& Y' y9 P& a: i
  50. CMP #$148 ?* P5 r( E$ ?' Q- |1 X6 A% p) x
  51. BNE WeaponSet
    4 @. p, w6 s# m( K1 l7 t
  52. LDA #$0F
    . V$ v6 V( M2 [8 b
  53. STA $AA,X% [* M1 Q  T; ?
  54. WeaponSet:
    & `3 V6 y, j9 @! o2 M4 l4 M
  55. INC $AA,X# ?* V/ y3 o" K2 O1 @) o  W
  56. ChangeWeaponEnd:7 f7 j* n! v, ]1 F5 ?5 t% L2 m% Q, j" _
  57. LDA $AA,X/ V3 m( D, H: J5 h# K0 j
  58. AND #$0F
    3 g- ~* `# M0 g/ p8 r+ h
  59. RTS/ K$ g( X8 u$ C$ I# W

  60. - Y% i* g' t5 O
  61. .ORG $89A0; ?. m. }' e3 W! \) \# ~$ {

  62. " E5 b2 G) O: U; o* R. M7 l
  63. ;互相伤害
    5 G+ C2 p% U2 b, e% Y; N4 p$ W
  64. ;========================================
    8 I) S- |8 |2 q1 w  {" s) l
  65. Hurt_Player:5 F: [9 ], |8 `* T! R
  66. STX Reg_X_Temp
    * {5 w0 z# V9 f
  67. STY Reg_Y_Temp
    $ Z8 d! V  b, `- c
  68. JSR CheckInvalidState
    % a" P: u) e2 k- x
  69. BCS HurtPlayerEnd+ ?; ~' x+ h% Q& w0 \. f
  70. LDA Bullet_Owner,X; o6 o8 y4 a- I* f* V4 D
  71. EOR #@0000001+ N- H! b% Z1 @/ ^! _
  72. TAY
    9 K/ y0 s" A1 |) w
  73. JSR GetHitOffset2 B; [" i0 |8 ~4 x  V8 R  N4 h" G
  74. JSR GetOffet_X: Y/ p+ N$ V6 j
  75. JSR GetOffet_Y
    4 m  [, T# P4 P; [
  76. JSR Check_Hit
    0 u. i- @& K; c' m, V
  77. BCC HurtPlayerEnd
    6 k! n. E. z% N; B" j
  78. JSR Kill_Player- j2 q. n' M8 G6 Z5 Y9 Q( ~( s
  79. HurtPlayerEnd:+ E2 f+ Y; r/ f' D6 i. ^, W$ r7 _3 M% ?
  80. LDX Reg_X_Temp( M- U0 v. m( l7 y) S
  81. LDY Reg_Y_Temp! a/ T! N( Y0 N# q" M
  82. LDA $0438,X4 t/ V" _" U" R; E
  83. RTS
    1 a  t& Q! ^- j7 b
  84. ' ?" D3 M- x5 p7 r: r
  85. ;检查无效状态
    : L1 Z- x0 ]+ _" t* E7 f
  86. ;========================================
    , w' X& s& f, C- k3 a
  87. CheckInvalidState:+ L$ ~. _- c. K2 U1 ~/ A
  88. LDA Bullet_Owner,X2 B/ J8 d! X% A- L/ [9 t
  89. EOR #@00000014 M0 I# k  ]+ M2 m
  90. TAY% m+ l* g% |6 e8 \* b
  91. LDA P1_STATUE,Y2 U" s+ e$ _0 T2 z" Q; U
  92. CMP #LIVE_VALUE
    : g& n+ v. X; O& t" D' |
  93. BNE SetInvalidState2 m5 i9 v3 L- E# C+ F& W- m& S, q
  94. LDA P1_ACTION,Y1 z" d# \/ p% ~8 F- r. `; h# h
  95. CMP #DIVING_VALUE
    ; h% u6 P; C9 J
  96. BNE CheckStateEnd' x& [  @- ]  `$ c3 g: z* D" q6 l
  97. SetInvalidState:
    - o/ [3 ]. [* T2 b/ z! o& T3 A
  98. SEC! ~/ l) A9 N" l
  99. RTS4 b7 u1 s1 J5 ^8 ]
  100. CheckStateEnd:
    6 H" B+ [3 L; B( @' K" T* a7 C
  101. CLC
    5 t+ s7 y. A! ]& B/ F' k. ]' J
  102. RTS
    6 ~" v: @7 C. o/ w1 R

  103.   ^$ K: f$ I, V4 [
  104. ;设置命中误差
      D, j) n( i& X7 ?; q
  105. ;========================================. z7 o) T# @  ?& P! {- t
  106. GetHitOffset:$ n8 y$ ]2 m+ p) F) I. Y$ F1 ^
  107. LDA #OFFET_X_STAND* \% o, i$ E4 N- u* i* m: m
  108. STA Offet_X_Check0 p3 D" |$ `" V$ ?, k$ F& b
  109. LDA #OFFET_Y_STAND
    5 E4 o* q' i" K' H# p
  110. STA Offet_Y_Check( I! b. @, O' \, ]6 G$ A
  111. LDA #$00
    & ]) H( O8 q! Y2 w: `+ ^% p, a1 o
  112. STA State_Offet_X6 ?9 ^, {2 [0 K9 Y! \2 N
  113. STA State_Offet_Y
    ; B* O7 i. @' b" S* ]$ a
  114. GetHitOffset_Diving:- S" F$ L# R! I
  115. LDA P1_ACTION,Y
    : W8 s: m+ M; [3 c6 d3 K; N
  116. AND #DIVING_VALUE
    3 B! A: F6 C, w9 z! C: o
  117. CMP #DIVING_VALUE
    4 f$ G! Z" c2 v
  118. BNE GetHitOffset_Lay7 E3 X; }5 r" P8 y6 X
  119. LDA #STATE_X_DIVING) Q; e9 s9 e2 m" A
  120. STA State_Offet_X
      q6 C0 _* E4 x
  121. LDA P1_FACE,Y
    0 b& c# o% B/ x  F$ C" X1 w
  122. AND #$40! i6 n& Q+ E! D
  123. BEQ GetHitOffset_Lay
    , }) s& @4 I) l6 ?* v$ Z# |
  124. LDA #$00
    3 p& ?4 K- \- e) R
  125. SEC
    / o; I  `9 J% s# {& S3 [. a
  126. SBC State_Offet_X+ H: W  r# w' |
  127. STA State_Offet_X# r" E- b0 J7 f0 W& W- [1 f0 s4 H
  128. GetHitOffset_Lay:, T! a/ o7 y# `' H/ C! |
  129. LDA P1_ACTION,Y! Z7 P  M2 ]9 I+ L
  130. CMP #LAY_VALUE# @: \& U3 ~6 h3 O/ m7 n! Z( V1 V
  131. BNE GetHitOffset_Jump8 {: R' `$ u; k5 f6 y8 Z: `7 y
  132. LDA #OFFET_X_LAY
    7 n, I! i+ d* _$ l7 @4 n7 ~' q7 t( x/ }
  133. STA Offet_X_Check
    , ?4 d- M* ?7 |
  134. LDA #OFFET_Y_LAY0 ~+ {( J( X3 R
  135. STA Offet_Y_Check
    ! o. c+ f+ {" I8 T4 ]7 z' m/ ?
  136. LDA #STATE_Y_LAY: h& {* w' Y! h6 W7 q
  137. STA State_Offet_Y" d, M4 s0 E' W9 P
  138. RTS
    & W; A( ]- d3 r% m$ l* v
  139. GetHitOffset_Jump:
    8 ~0 A2 O) V* n8 t1 e% d
  140. LDA P1_ACTION,Y! N, Y6 J, i3 v- P" f5 ~9 k
  141. AND #@11110110
      Y7 P1 t, N; ~$ z8 j
  142. BNE GetHitOffsetEnd5 @6 A5 u) P" V' {; ?4 o; Y
  143. LDA P1_ACTION,X, c; T4 R* H* W0 V8 h; z
  144. AND #JUMP_VALUE
    . z1 K3 B9 T* Q) l) L! i
  145. BEQ GetHitOffsetEnd
    - y) x( f8 H$ U, v8 u( T
  146. LDA #OFFET_X_JUMP
    8 ]9 I$ X4 g: N' F' E  [
  147. STA Offet_X_Check% Q  A% f4 z4 T* a6 ~7 ]
  148. LDA #OFFET_Y_JUMP3 d9 X  y" }& M; C' b, T
  149. STA Offet_Y_Check& W8 ~& J( \# w& J
  150. RTS
    7 a1 c4 F4 k0 ?( N
  151. GetHitOffsetEnd:  P* P- p. [/ q( T7 l" B
  152. RTS+ M" ]& R. E. h" \* U$ V& d0 s3 N
  153.   Z9 w# p7 b4 Z8 a/ t6 j
  154. : R. \, J2 \( u: Y
  155. ;获取子弹与角色X坐标差) y8 C1 C* {% N/ A7 W7 j0 B% N
  156. ;========================================
    ) L' c, b; L( C3 y8 M' \' Z
  157. GetOffet_X:2 p* g. b' Z% z  U; q& P
  158. LDA Bullet_X,X
    6 P) U% ^& j/ M# _( u  G
  159. SEC9 l& w  q1 B# z4 r
  160. SBC State_Offet_X# E2 K8 G3 [8 Q. g: l. b
  161. CMP P1_X,Y
    4 N  k! [! k! t+ n
  162. BCC GetOffet_X_Set
    6 J* C# b& c/ i+ ~; H/ l3 ]1 e
  163. LDA Bullet_X,X
    8 Z& H* P1 [$ ~- k) J: e
  164. SEC
    ( R5 u7 P7 v+ \0 v& |  n3 I
  165. SBC State_Offet_X/ {/ o/ K6 I7 B& A6 @
  166. SEC
    8 N" O# \" |% O" v
  167. SBC P1_X,Y' t0 Y7 c: ~4 Z! J0 @* n
  168. STA Hit_Offet_X
    4 M" E: t; i* X. X1 A0 Y, g4 g* M
  169. RTS
    3 N* h6 Y% I5 A
  170. GetOffet_X_Set:% ^/ `4 ~8 v1 E' F3 W
  171. LDA P1_X,Y0 ]5 F' e/ h5 f% L2 G$ R# t
  172. CLC3 l# a5 l2 [6 s6 m8 g
  173. ADC State_Offet_X, [# p% z, E- x1 A+ h, N
  174. SEC
    6 ~2 L8 r9 Z! q7 O5 J# |
  175. SBC Bullet_X,X
    6 b; Q, \% n: h# w6 W7 S3 B3 r( f
  176. STA Hit_Offet_X
    9 A9 r$ ?; k6 ]  o
  177. RTS
    ; r/ W8 i0 z' d$ Y

  178. . `8 A' l( ^+ y. D* Z7 a/ s) M
  179. ;获取子弹与角色Y坐标差
    $ A! R2 n/ Q8 Y7 @  |6 ^, h
  180. ;========================================8 b0 n) f5 T* `% Z! m, k! {
  181. GetOffet_Y:
    0 T, v; C/ h5 |: T% f" D$ c  _3 }
  182. LDA Bullet_Y,X
    - Y( `8 {6 r1 I& I0 D
  183. SEC
    # C' Z; N$ \: |* }; m
  184. SBC State_Offet_Y
    7 C8 F; r8 T9 i' v2 ?$ j
  185. CMP P1_Y,Y
    1 D4 v! Z( j4 K# r% b; H
  186. BCC GetOffet_Y_Set
    ) C/ H) C+ h& w+ r0 v: |
  187. LDA Bullet_Y,X# b' Q4 Y3 L8 x# f
  188. SEC( P, p" }! i6 e( ?7 s) r5 j
  189. SBC State_Offet_Y% n6 L+ I9 v7 I4 o
  190. SEC
    * q; {8 C. f1 ~3 p: e0 M
  191. SBC P1_Y,Y
      ^! y6 j8 P2 s" b9 Y
  192. STA Hit_Offet_Y) E# a4 A. A1 y5 S( X- p$ Q7 b; ^
  193. RTS/ ^* q! k, f" M4 x9 r
  194. GetOffet_Y_Set:) y1 r8 @+ N) p/ l. e. C; u
  195. LDA P1_Y,Y
    5 [& d( l) E- v
  196. CLC
    + c3 z2 c/ C. K3 x# D; k
  197. ADC State_Offet_Y$ \4 e. Y' i% `9 y- x  F
  198. SEC" v% n0 e0 q0 G) ?+ F! j6 g! T
  199. SBC Bullet_Y,X
    . c/ `4 a* r3 S- X5 ~* [3 j: o) @
  200. STA Hit_Offet_Y
    6 H. D8 B4 C' Z1 @0 [$ R
  201. RTS
      I: q0 L- y4 @5 C

  202. ) g' v! C( f) i. B/ _3 V9 o
  203. ;检查命中
    * x" U7 _6 ]: @$ k+ ^
  204. ;========================================
    9 \6 N6 t# p0 \, M2 L. N1 f
  205. Check_Hit:
    : K% R- x+ D6 g, f
  206. LDA Hit_Offet_X
    * s, ?6 h1 o& p% q8 i4 h% Z
  207. CMP Offet_X_Check7 k6 M! G/ Z% A- d; b4 x
  208. BCS Check_Hit_End; e+ \0 W5 K, D6 D* X% ]
  209. LDA Hit_Offet_Y" L" d4 }4 i' a4 r
  210. CMP Offet_Y_Check% g  ~2 A. Z- \* g
  211. BCS Check_Hit_End) C/ X# O/ ^& y  [2 l& D4 m. y
  212. SEC
    ( c: `% _$ z: I$ ^# \3 g6 r
  213. RTS7 Q) [7 p8 ^0 E, a7 Q2 j
  214. Check_Hit_End:6 t! ]* T: ^- h5 r5 M
  215. CLC
    , L( O9 f2 _4 l* l. a4 `
  216. RTS) ]! k+ K5 |5 ]* q

  217. 6 q9 p3 `' u% R. l% [
  218. ;杀死对方
    2 V8 i1 V2 C) H2 [4 Y6 `: N$ h# _, f. y
  219. ;========================================6 k- {; N' l( X7 g( @
  220. Kill_Player:
    ! x4 h  A5 Y5 ~) y8 A/ U$ |  n7 x) L
  221. LDA Bullet_Owner,X3 S. p0 B( @6 R1 z/ g
  222. EOR #@00000014 U* V- j8 ~* k* x( B  F
  223. TAX: q7 \' J6 |7 D
  224. LDA P1_STATUE,X/ J, Y3 I! N& \- k' V& M
  225. CMP #LIVE_VALUE
    8 w. l/ h* K) q3 o& M8 y' T9 c
  226. BNE Kill_Player_End9 p( W  X+ a) v* ~
  227. LDA P1_INVINCIBLE_A,X
      A% p" Y3 p" i2 s+ Q8 s( O! Q
  228. ORA P1_INVINCIBLE_B,X
    0 |& f6 ~- G) [! V" `
  229. BNE Kill_Player_End ;无敌状态不处理
    0 ]$ B7 }" j' c, r7 I3 Y# O7 B4 [- I. K
  230. JSR $D474 ;角色死亡
    2 q: r% P7 a) I5 I+ P
  231. LDX Reg_X_Temp
    / B: @; m' u  j/ X$ {5 v
  232. LDA Bullet_Owner,X
    * x/ {3 F- T/ b+ W
  233. TAX
    ! F% c! ]& t& u/ J7 q0 M0 q+ X$ T
  234. INC P1_REST,X0 W/ W4 G/ C; n
  235. LDX Reg_X_Temp8 E0 x9 ?9 ~: G
  236. JSR $E2FE ;子弹消除6 D2 R  ^) R, v7 M, a
  237. Kill_Player_End:7 @) c+ G6 X* S1 r/ z7 ~
  238. RTS
复制代码
2 C; S  }0 }! A5 ~' L
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

1

查看全部评分

[发帖际遇]: yandagui 在网吧通宵,花了 4 个 柠檬. 幸运榜 / 衰神榜

签到天数: 1523 天

[LV.Master]伴坛终老

发表于 2020-5-5 16:07:50 | 显示全部楼层
感谢分享{:4_132:}
回复

使用道具 举报

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2020-5-5 18:51:47 | 显示全部楼层
这就变成打黑枪了,有意思,谢谢
回复

使用道具 举报

签到天数: 187 天

[LV.7]常住居民III

发表于 2020-5-5 19:56:35 | 显示全部楼层
多谢分享,修改辛苦了
7 L/ c! N1 A; y& a
[发帖际遇]: dabayu 被钱袋砸中进医院,看病花了 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3109 天

[LV.Master]伴坛终老

发表于 2020-5-5 20:25:15 | 显示全部楼层
记得双截龙2这样干过,用1P打死2P可以奖命{:4_111:}
[发帖际遇]: afti 发帖时在路边捡到 3 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1436 天

[LV.10]以坛为家III

发表于 2020-5-5 22:28:00 | 显示全部楼层
感谢大神分享!
[发帖际遇]: shower 打扫环境卫生,被奖励 3 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 591 天

[LV.9]以坛为家II

发表于 2020-5-5 22:55:54 | 显示全部楼层
厉害了啊,感谢分享
[发帖际遇]: 一个袋子砸在了 liuqi459120528 头上,liuqi459120528 赚了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 905 天

[LV.10]以坛为家III

发表于 2020-5-6 14:26:39 | 显示全部楼层
这都让你随心所欲的修改 这才是玩游戏啊
回复

使用道具 举报

签到天数: 657 天

[LV.9]以坛为家II

发表于 2020-5-7 00:27:09 | 显示全部楼层
这个修改有点意思,感谢分享!
回复

使用道具 举报

签到天数: 537 天

[LV.9]以坛为家II

发表于 2020-6-29 02:20:17 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

签到天数: 971 天

[LV.10]以坛为家III

发表于 2020-6-29 08:19:11 | 显示全部楼层
魂斗罗内战么{:4_116:}
回复

使用道具 举报

签到天数: 3243 天

[LV.Master]伴坛终老

发表于 2020-8-5 15:26:06 | 显示全部楼层
这个有意思
[发帖际遇]: leshui 被钱袋砸中进医院,看病花了 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-6-26 06:02

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表