设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2020-5-5 15:40:24 | 显示全部楼层 |阅读模式
先祝福大家五一快乐, 虽然来晚了哈, 废话就不多说了6 \: I* s6 k+ q- G% c8 g
1.选择键切换子弹(为了更快杀死对方)1 ]) n! c* L, Z/ `
2.杀死对方自己加命0 E. D3 u/ E6 w/ E! c- P
  1. ;[FC][魂斗罗][互相伤害][END]
    ( S* n  Y) l- o. Y
  2. ;202005059 |+ d# \* V! c0 c/ @9 A

  3. 2 N- y7 \% t1 t0 `
  4. .ORG $8960
      t& Z; D$ q$ |4 |3 ]( w3 W* b
  5. 2 m0 N6 x# G2 k3 y- y$ G+ T
  6. P1_STATUE          = $90      ;状态# ]1 ]( u) m$ y/ \' r& h
  7. P1_INVINCIBLE_A    = $AE      ;透明无敌
    6 P+ _: H9 \3 ~
  8. P1_INVINCIBLE_B    = $B0      ;闪烁无敌0 J% I1 Q9 g, s6 D8 i/ K
  9. P1_REST            = $32      ;P1剩余生命
    - c: G1 |; e1 W% T
  10. LIVE_VALUE         = $01      ;活着数值
    + K' N5 i3 k9 L* A3 Q
  11. P1_ACTION          = $D6      ;趴下
    + |7 r  x) s9 T- }
  12. P1_FACE            = $D8      ;P1面向3 ]: P0 \/ G* ?8 e' r) V9 s& _7 U
  13. LAY_VALUE          = $17      ;趴下数值
    # f9 z+ w7 t  F4 m$ F- u; d
  14. JUMP_VALUE         = $08      ;趴下数值% v4 {! U7 [% o, L" k3 O
  15. DIVING_VALUE       = $18      ;潜水数值
    : X. V" _) h4 R
  16. P1_X               = $0334    ;P1 X坐标# g% K- S6 z3 [& [" D# m4 C& i
  17. P2_X               = $0335    ;P2 X坐标7 s; G5 t' W; ~% W
  18. P1_Y               = $031A    ;P1 Y坐标
    ; Z" h+ }1 p# S- {; Z4 o
  19. P2_Y               = $031B    ;P2 Y坐标8 V9 D* P: h3 M1 Q
  20. Bullet_X           = $03C8    ;子弹X坐标! q; P" Y8 j7 p5 I
  21. Bullet_Y           = $03B8    ;子弹Y坐标
    . L' t: y9 o, ?+ u
  22. Bullet_Owner       = $0448    ;子弹所属者4 V, B7 E, t# @8 M0 e$ i
  23. Hit_Offet_X        = $01C0    ;命中误差X: S( w# F' J  ~& c) C, R+ |
  24. Hit_Offet_Y        = $01C1    ;命中误差Y+ I/ B2 K# `* E5 d
  25. State_Offet_X      = $01C2    ;动作误差X
    1 I5 S4 }( a1 N* j) H( J- t8 x: u0 s
  26. State_Offet_Y      = $01C3    ;动作误差X! j) d" s/ K1 R' K, M
  27. Offet_X_Check      = $01C4    ;坐标差X
    6 m/ o7 `" M( \7 @! G/ B! l. X
  28. Offet_Y_Check      = $01C5    ;坐标差Y* x8 m  \- j4 X* Y3 ?' Q
  29. Reg_X_Temp         = $01C6    ;寄存器X暂存
    $ f3 k# L  A6 g# Z
  30. Reg_Y_Temp         = $01C7    ;寄存器Y暂存
    1 P7 p: o! a& _
  31. OFFET_X_STAND      = $06      ;坐标差X值0 Q  N/ H* s  r
  32. OFFET_Y_STAND      = $10      ;坐标差Y值/ K, ~3 s) a5 x5 C0 o+ V6 v- w# g
  33. OFFET_X_LAY        = $10      ;趴下坐标差X值
    . |' @4 y3 y0 R; R5 Y% w
  34. OFFET_Y_LAY        = $07      ;趴下坐标差Y值, R- r" V: A! w# w1 W
  35. OFFET_X_JUMP       = $08      ;跳跃坐标差X值8 u3 e6 ?% @* i! ?  S" D
  36. OFFET_Y_JUMP       = $08      ;跳跃坐标差Y值# a( N9 F! b7 Z7 ?" t3 O0 p
  37. STATE_X_DIVING     = $02      ;潜水动作误差X值
    ' A  J7 S( p1 j+ B
  38. STATE_Y_LAY        = $04      ;趴下动作误差X值9 K6 r7 m: w( ]6 y
  39. 2 B2 z; U& c% {% M  b
  40. ;武器切换, P( S  s- L9 E7 e" K+ r" ]7 E
  41. Btn_Once = $F5       ;单次按键+ U  w7 }. E+ u4 x
  42. ;========================================
    ' L4 w) W. C, V6 [* h
  43. ChangeWeapon:0 y9 `* J4 D% [, J; p! ?4 b
  44. LDA Btn_Once,X
    4 L/ w) p8 P3 h  k: S
  45. CMP #$20
    ) e/ V* Y0 S9 V; t' E: K
  46. BNE ChangeWeaponEnd# W  E6 l, V' V  q! u+ \7 I' y
  47. LDA $AA,X
    5 y& y% W6 a4 D  R# ]4 ~2 z$ [
  48. ORA #$10
    + {/ u0 T* n9 G8 v! v
  49. STA $AA,X
    , I- O+ ?! F# @  I6 J" Z) b
  50. CMP #$14$ W1 h9 \( B- m$ D% [5 V$ W* |
  51. BNE WeaponSet, A2 Z; D( G1 x2 U1 B4 W
  52. LDA #$0F
    & t8 j4 {. n$ q0 s( f
  53. STA $AA,X+ \* R* G$ F0 j7 ]
  54. WeaponSet:
    : |3 \# g. U; I/ B9 [1 l
  55. INC $AA,X# @. z( t7 U/ D
  56. ChangeWeaponEnd:  M5 U/ c# h7 Z+ d9 c, K9 P
  57. LDA $AA,X5 L/ |2 }/ }+ y  z
  58. AND #$0F
    + G1 ]& e% d& P' H' \
  59. RTS* D2 P5 T1 F% P  l. }7 t5 f3 v; X0 @# g8 y
  60. & @0 R  ^+ l4 `1 R3 Z
  61. .ORG $89A0" I. j9 b2 f* ^1 |  p# ~7 H
  62. ) k) m9 G7 ~3 ~
  63. ;互相伤害
    + o& |: |- G  W+ }$ G2 P
  64. ;========================================( S3 ~  Q  u% U8 @- l, r
  65. Hurt_Player:
    6 i* I1 _0 T; l/ C) K
  66. STX Reg_X_Temp0 R9 Q1 d6 ~4 L* N" e
  67. STY Reg_Y_Temp0 P7 U& Z8 ]$ m; \0 n
  68. JSR CheckInvalidState
    ; f$ p  J/ i) o* s
  69. BCS HurtPlayerEnd
    * C5 @" O' I7 y1 w7 R
  70. LDA Bullet_Owner,X- C6 ?5 }, ?1 ?, c2 C1 q  _
  71. EOR #@00000016 i+ R5 C! {* ]' \9 l5 d
  72. TAY
    0 p& D: s& t1 r2 w
  73. JSR GetHitOffset
    + n5 Q2 k4 q. l
  74. JSR GetOffet_X1 F+ w! l) p: h  b' y, Q  O9 d
  75. JSR GetOffet_Y
    8 r' `6 A) W: `; p6 B
  76. JSR Check_Hit
    ) X- C8 u0 d# b1 C$ E* T
  77. BCC HurtPlayerEnd
    - e+ _# @. Q- {$ g7 H! P
  78. JSR Kill_Player% t) c8 [' ^! a  |8 n/ L
  79. HurtPlayerEnd:8 h- d* M4 K& D. i
  80. LDX Reg_X_Temp+ i0 p  k/ b+ |
  81. LDY Reg_Y_Temp
    & }; g/ x2 v8 s/ h
  82. LDA $0438,X; Y/ O1 E6 V* Y) @
  83. RTS' @! K( U  c/ u& g

  84. 1 E6 ?5 J9 B/ b0 m, a  l
  85. ;检查无效状态3 E6 ]5 e. ], \8 R, Y4 J5 S+ ?. y% a
  86. ;========================================9 T9 ?0 z$ d" \: t
  87. CheckInvalidState:5 t9 y% N. U% M/ T& w
  88. LDA Bullet_Owner,X  q1 j* l2 ^9 w
  89. EOR #@0000001+ \# C0 O8 O' s7 ~# \- @0 j
  90. TAY/ J7 ^$ u* p/ \! P* l: x3 n
  91. LDA P1_STATUE,Y7 d7 }: d! t& R5 Q
  92. CMP #LIVE_VALUE
    4 T( X2 i2 T# _* S; X
  93. BNE SetInvalidState/ v) k. j3 P8 D
  94. LDA P1_ACTION,Y
    6 k, ~+ q9 ?4 C2 I3 p3 G
  95. CMP #DIVING_VALUE
    + |; ~( @, u8 b- t
  96. BNE CheckStateEnd# V( n2 ]$ n1 d' X
  97. SetInvalidState:
    , z+ T' c% o  S7 K0 L& ^0 ?5 s
  98. SEC
    : s  j' d8 X1 n  j
  99. RTS
    # p$ R* T; a! `7 `4 o$ A
  100. CheckStateEnd:% e( @* n& w, W7 ^6 ?
  101. CLC) Y: M2 s) w' W) ?2 C
  102. RTS6 Y* j% K! v/ `# C
  103. $ g3 E3 U: n7 u6 r
  104. ;设置命中误差" K4 [  v+ J. d
  105. ;========================================8 I' }0 v5 n) \& u
  106. GetHitOffset:- u; p& l( F) w2 j0 \
  107. LDA #OFFET_X_STAND- n4 n: {8 ]! e$ t* Z
  108. STA Offet_X_Check
    + S1 D1 t% Z/ h; @' g/ k
  109. LDA #OFFET_Y_STAND
    " ~# F# K! R! f( p
  110. STA Offet_Y_Check
    7 `5 _8 Q8 ^" ]& v8 d" f- \
  111. LDA #$009 w! O  u: D7 x9 N& Y
  112. STA State_Offet_X
    - e3 s9 t* l1 r1 \# b1 |
  113. STA State_Offet_Y7 j8 @0 s5 ?" d6 l& B
  114. GetHitOffset_Diving:* T- \" ]. t) n% i0 C
  115. LDA P1_ACTION,Y
    + w% u' U- @; ]
  116. AND #DIVING_VALUE
      F4 Y: L" `5 W7 o. G! l5 \
  117. CMP #DIVING_VALUE$ ]+ h; L" s% E  \7 `0 p
  118. BNE GetHitOffset_Lay
    2 _  c4 [" v" w" G
  119. LDA #STATE_X_DIVING
    % G3 P6 A5 W' K1 G2 e4 a7 n
  120. STA State_Offet_X" A' K+ f/ d% |' N* k4 Y7 F
  121. LDA P1_FACE,Y
    + C! j' v; V: ?! Y- ~7 R5 N
  122. AND #$40
    6 p" i: _2 |; ?( {) J
  123. BEQ GetHitOffset_Lay
    : K' w6 I8 l) |0 o$ ]5 y% i
  124. LDA #$00
    . S4 m" c  |# U: V  ?: f
  125. SEC$ ~! z1 ?1 u+ q9 }) Q
  126. SBC State_Offet_X
    : v& G: k1 ^. ?4 F; Z" {
  127. STA State_Offet_X
    : b; L, Y' z5 l  U7 v2 _
  128. GetHitOffset_Lay:$ j  }3 g! t& k$ n5 t& G2 b
  129. LDA P1_ACTION,Y# q7 H' c0 k2 \) I  n
  130. CMP #LAY_VALUE4 U  L  |& G6 f; G
  131. BNE GetHitOffset_Jump
    ; K) K( L# c+ z0 D
  132. LDA #OFFET_X_LAY
    8 v( m7 ~9 U' p' O
  133. STA Offet_X_Check  V4 c  S% y; L' z4 Z
  134. LDA #OFFET_Y_LAY( D% D. q1 ^" A( @
  135. STA Offet_Y_Check* T# o; x7 h+ x- y, G5 c
  136. LDA #STATE_Y_LAY
    " Q# Z6 u( m1 [4 h
  137. STA State_Offet_Y9 ^. M- c8 K4 S  n: _% D+ a
  138. RTS+ I0 P2 K/ d" }( C" j% E! x' B
  139. GetHitOffset_Jump:
    9 i' h0 S) K( i+ W: X
  140. LDA P1_ACTION,Y2 t! O- p! E6 w% S- \5 q8 `
  141. AND #@11110110
    " s: O+ p6 |2 h& b
  142. BNE GetHitOffsetEnd' l/ v. U! R! o) X& n  J" y
  143. LDA P1_ACTION,X% f1 ^4 I. a) G" `3 J* [! W
  144. AND #JUMP_VALUE
    ! d3 x: T7 t4 T* m& C: V
  145. BEQ GetHitOffsetEnd4 q6 v  t( d5 a0 }- G7 g4 H* `" f
  146. LDA #OFFET_X_JUMP7 S0 m! U! [( ]8 f% e; u
  147. STA Offet_X_Check5 a2 K9 i% d" u6 N$ X2 m9 ?
  148. LDA #OFFET_Y_JUMP
    , H9 ]2 K+ w/ [: I: [/ g2 e/ P
  149. STA Offet_Y_Check6 R, f/ q1 G* d7 y/ W0 A- M' ?& y7 O
  150. RTS1 k( a- ]" b7 }- ^/ F
  151. GetHitOffsetEnd:& U6 y+ W  U3 {) F" R
  152. RTS4 J! M( d: C: ?2 t" Q$ M: I: t. O
  153. & \- b0 @& k% C0 `' C+ F
  154. , p: P) h2 C. B' ?  v$ b' K; i/ A
  155. ;获取子弹与角色X坐标差" `6 f% {1 h3 s. c9 k8 c/ u
  156. ;========================================
    . S% B& F: S. s5 p( t
  157. GetOffet_X:
    ; y  O# U* ~' g# [, ~' D
  158. LDA Bullet_X,X
    * E( S, J/ [- w* i
  159. SEC
    . J+ o- p' N' {3 `- Q
  160. SBC State_Offet_X: S) ^# A  x9 {; a/ y9 g
  161. CMP P1_X,Y- I- v! o! t" R6 c
  162. BCC GetOffet_X_Set
    % ]' I+ W1 W/ E9 J4 l' [' x- E. `
  163. LDA Bullet_X,X
    * Y1 u. M* W! j6 b% _
  164. SEC2 w$ c8 i+ {4 ^2 ]" I' b# L
  165. SBC State_Offet_X7 W( v* o4 R! V1 Z8 n
  166. SEC5 u# b4 H" b) e$ ~1 q3 q
  167. SBC P1_X,Y7 q( O* G% g: w4 S' x% r- H2 U
  168. STA Hit_Offet_X
    3 R" d! S; @' f3 v
  169. RTS
    ' D" |% P7 W3 q
  170. GetOffet_X_Set:
    " W+ a& g" ]5 F# f' b: D! f! v
  171. LDA P1_X,Y
    * L( g& A# ]5 N( y9 E$ I' D
  172. CLC
    ; u& r$ M3 d5 E+ T) y; W
  173. ADC State_Offet_X
    + J  {1 ^0 H5 `, Q7 X
  174. SEC# C! u. ~4 @9 _. a
  175. SBC Bullet_X,X) a* w- y5 \: b+ Y9 M
  176. STA Hit_Offet_X
    2 I+ O1 {' }( V5 a
  177. RTS
    " q) H% |/ K4 d5 J% [3 R

  178. * m1 O3 O" L* D
  179. ;获取子弹与角色Y坐标差; o4 t5 x9 y' a, W. d
  180. ;========================================
    8 h4 q; F# C1 m8 t+ R; W
  181. GetOffet_Y:
      A; Y. ^9 m' ^
  182. LDA Bullet_Y,X! N6 |' Q/ U( J
  183. SEC3 Q) v5 J. e0 q9 {& s7 D" ~# ^+ ?6 ^
  184. SBC State_Offet_Y- B$ I7 S9 A3 ]% p1 ]& q) W
  185. CMP P1_Y,Y8 Q  }4 c7 a9 v. V9 O' a9 Y: |
  186. BCC GetOffet_Y_Set
    & L6 U# v4 y1 x$ v
  187. LDA Bullet_Y,X6 ^- F; Q7 w' B
  188. SEC
    ' y$ D+ j4 p+ m5 q& M* D
  189. SBC State_Offet_Y
    ) e( A5 i4 m8 T
  190. SEC
    6 s# F- x7 l  u& D3 _* \
  191. SBC P1_Y,Y
    1 U8 @) Y6 B! Z
  192. STA Hit_Offet_Y
    ' ^" l6 _4 Y& D9 W$ w3 Y: T
  193. RTS+ h, t$ s# @- r. z( |' ?
  194. GetOffet_Y_Set:3 a. d: n1 `2 `2 N5 x! Y) T
  195. LDA P1_Y,Y! }2 T% K( B. x
  196. CLC
    ' l/ m) K: T$ u7 q: J' h
  197. ADC State_Offet_Y
    6 _) x/ n; |2 q4 F
  198. SEC
    / @6 C- `) h) f4 A9 O
  199. SBC Bullet_Y,X3 i+ }! f  a' X1 n* w# g5 @9 @
  200. STA Hit_Offet_Y* o/ {/ k- N- l" A9 [3 `
  201. RTS
    * k0 r# U) v/ x  _1 n

  202. $ y5 r/ Y6 \) g9 @- ]) V2 L# J  {
  203. ;检查命中
    2 \# _- V: D7 u) k+ [2 D: B
  204. ;========================================
    ! F! t% o7 [  B4 f
  205. Check_Hit:$ f& s$ V1 b% t( W6 Q
  206. LDA Hit_Offet_X
    6 M7 r- q4 q1 ~: J2 n) z; {
  207. CMP Offet_X_Check
    5 }& K, _5 v; n8 u! W
  208. BCS Check_Hit_End- e' T1 \, }* S2 l8 R+ V+ `2 Y# R
  209. LDA Hit_Offet_Y, z0 x% A4 D2 l, K# Z
  210. CMP Offet_Y_Check( s# X8 b  i. k5 n* c5 l
  211. BCS Check_Hit_End9 b' m7 A* d8 ~( Z
  212. SEC
    ' g4 E/ D) p6 P+ k4 J5 @& a
  213. RTS
    8 P2 \7 {* p5 L3 p
  214. Check_Hit_End:
    : F' q6 `) C" r4 x' i
  215. CLC- r4 o- o/ E1 I8 d: N# o4 [
  216. RTS
    1 _- ]( o7 w- K! n: Q
  217.   x" h5 C) t2 L/ u4 v
  218. ;杀死对方
    6 f: x6 D4 i' }/ E% }7 C
  219. ;========================================/ h. k9 K. [& `0 K! D1 v( n3 p- x0 M
  220. Kill_Player:3 q" w0 q/ L% _( H/ c* V9 v* g
  221. LDA Bullet_Owner,X
    * K5 F2 ]3 Y1 K) K/ a
  222. EOR #@00000014 b$ w0 Z: F# C- g; f9 H* ]
  223. TAX
    & Y: i% |0 w$ B8 o7 F$ E
  224. LDA P1_STATUE,X6 P, }- U  f. ?* \1 s  a
  225. CMP #LIVE_VALUE
    ( J# y& r. D. j
  226. BNE Kill_Player_End
    , _. S0 E, d0 ?% ~' R
  227. LDA P1_INVINCIBLE_A,X) J* `, |2 x8 y+ q2 P( w9 U6 `
  228. ORA P1_INVINCIBLE_B,X
    + H$ @7 N# T' [3 U$ _
  229. BNE Kill_Player_End ;无敌状态不处理
    , v& @' r- w3 d$ k4 o9 Q
  230. JSR $D474 ;角色死亡
    : a& V1 N: p; f/ I6 b
  231. LDX Reg_X_Temp8 _/ K* o$ Q" S7 ^  Y) @
  232. LDA Bullet_Owner,X, K$ B9 `) @9 z' r: d  O
  233. TAX$ |" U& X4 W( Z
  234. INC P1_REST,X
    $ ~. g: ?# y4 e, l# P
  235. LDX Reg_X_Temp
    9 m6 w% ~, X: ~$ z9 h6 {
  236. JSR $E2FE ;子弹消除' c3 [+ d9 r# o/ x2 G( N
  237. Kill_Player_End:
    $ t( ]6 _* \" J! k
  238. RTS
复制代码
0 |" T8 J7 ~5 w% ^  M
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

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

×

评分

1

查看全部评分

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

签到天数: 1543 天

[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 | 显示全部楼层
多谢分享,修改辛苦了
% f6 \" t2 ?7 H; Y  ?5 ^/ h5 r
[发帖际遇]: dabayu 被钱袋砸中进医院,看病花了 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3128 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 1453 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 607 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 905 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 665 天

[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:}
回复

使用道具 举报

签到天数: 3263 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-16 10:06

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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