设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2020-5-5 15:40:24 | 显示全部楼层 |阅读模式
先祝福大家五一快乐, 虽然来晚了哈, 废话就不多说了& n) H) r9 @- y
1.选择键切换子弹(为了更快杀死对方)+ @: n; K2 z3 S* z4 f# Z4 Z
2.杀死对方自己加命; [( S/ X, l5 R+ S+ z
  1. ;[FC][魂斗罗][互相伤害][END]2 h. i9 X4 R, @7 ]5 R$ |, u9 Y# h6 Q  F
  2. ;20200505% }9 J! s! V+ @% k0 b( @6 `( w
  3. 9 w: Z% o" w/ w- W0 w, g
  4. .ORG $8960* \' v, Q1 C5 t
  5. # d' E+ K6 R( h: H* v1 O7 w. b
  6. P1_STATUE          = $90      ;状态! C& s8 e" E% f( ~. [1 ]
  7. P1_INVINCIBLE_A    = $AE      ;透明无敌
    $ J; b& B( p4 M3 r5 \- B4 _3 _
  8. P1_INVINCIBLE_B    = $B0      ;闪烁无敌0 q6 U3 J+ i- i; Q* }& ]/ R3 ^
  9. P1_REST            = $32      ;P1剩余生命
    6 \3 W, v  ?$ c' ]  m. `; @
  10. LIVE_VALUE         = $01      ;活着数值/ ]& l7 h( C! J
  11. P1_ACTION          = $D6      ;趴下1 O: F$ S* C" g2 {
  12. P1_FACE            = $D8      ;P1面向3 R1 O$ s% \0 D$ M
  13. LAY_VALUE          = $17      ;趴下数值
    % x5 |- o  [* C
  14. JUMP_VALUE         = $08      ;趴下数值
    # q' w! E( {0 l1 H
  15. DIVING_VALUE       = $18      ;潜水数值
    5 d, y0 Y; h& A5 d: O9 `
  16. P1_X               = $0334    ;P1 X坐标1 W2 s, \6 K0 L- |
  17. P2_X               = $0335    ;P2 X坐标
    , X, t4 P; C/ i$ w* `) D9 _+ l
  18. P1_Y               = $031A    ;P1 Y坐标
    ' A4 _: z+ O; h: c) n
  19. P2_Y               = $031B    ;P2 Y坐标
    ( A% s& `. W! f1 _
  20. Bullet_X           = $03C8    ;子弹X坐标
    ! H: v' r, L+ j5 Z4 Q/ `' S# l2 h
  21. Bullet_Y           = $03B8    ;子弹Y坐标; G- d! h5 d, z7 D$ x) W2 X
  22. Bullet_Owner       = $0448    ;子弹所属者
    & H& P# \0 b: [9 C
  23. Hit_Offet_X        = $01C0    ;命中误差X2 K5 j; n3 X- ]$ L( z, a
  24. Hit_Offet_Y        = $01C1    ;命中误差Y
    ( A. @' H: ^( t* n9 u
  25. State_Offet_X      = $01C2    ;动作误差X' Z& l) F& P) R6 m3 G
  26. State_Offet_Y      = $01C3    ;动作误差X
    2 Y4 u! V/ |4 ^) G( }2 n& q
  27. Offet_X_Check      = $01C4    ;坐标差X
    6 d0 I; Y$ \9 c  n3 H2 V9 K0 @
  28. Offet_Y_Check      = $01C5    ;坐标差Y
    1 D. ?9 n3 a5 k2 x6 Q& M. ^
  29. Reg_X_Temp         = $01C6    ;寄存器X暂存
    7 x2 Z' }+ h( m7 M
  30. Reg_Y_Temp         = $01C7    ;寄存器Y暂存
    ' Z1 {: }$ W( `1 v6 W3 p0 l% S
  31. OFFET_X_STAND      = $06      ;坐标差X值
    - Z' ^: r1 E# o% U9 z
  32. OFFET_Y_STAND      = $10      ;坐标差Y值
    7 ]9 G# I) I: F  y
  33. OFFET_X_LAY        = $10      ;趴下坐标差X值
    ) d$ [# k" `, Z
  34. OFFET_Y_LAY        = $07      ;趴下坐标差Y值4 H" v3 J& c% J& g5 Y
  35. OFFET_X_JUMP       = $08      ;跳跃坐标差X值1 j: C* S3 O6 `: H
  36. OFFET_Y_JUMP       = $08      ;跳跃坐标差Y值
    4 q. F0 e5 M- j+ |$ l; q
  37. STATE_X_DIVING     = $02      ;潜水动作误差X值
    $ |4 I( H* c4 |+ @
  38. STATE_Y_LAY        = $04      ;趴下动作误差X值( r  ?+ s+ R2 E
  39. 8 S) @' b8 I; _$ ?4 p( S
  40. ;武器切换
    6 z* c; E( C; F$ O; _0 w- d
  41. Btn_Once = $F5       ;单次按键, p5 K. f& g0 |; P% R
  42. ;========================================  k$ |% C3 h, n4 r! Q' N
  43. ChangeWeapon:
    * @, u; i$ M& @
  44. LDA Btn_Once,X" i& a. j4 P/ e
  45. CMP #$20! @+ x# I: {, J5 v' T7 A4 d
  46. BNE ChangeWeaponEnd2 p" z  p3 ~# r7 n5 Y) H
  47. LDA $AA,X
    3 ?/ D9 K4 J) P$ U0 U) A& f
  48. ORA #$104 x# \. \, M. C
  49. STA $AA,X, Z- T4 T  W3 h! _( s; d5 U7 ^5 g
  50. CMP #$14
    # Z- y: o* g6 ^, \- e$ l
  51. BNE WeaponSet( n; j4 i7 }& \6 N. Y) |  O
  52. LDA #$0F
    ! G+ Q+ @- s& E/ F1 n1 t( Y
  53. STA $AA,X% A" j! V* u* o% d8 k- M8 P
  54. WeaponSet:
    9 _  S# O  N" |- D# D
  55. INC $AA,X
    # l9 J7 D5 M2 G0 G. r# F6 l  O% q
  56. ChangeWeaponEnd:
    1 p! a  s0 S2 [# u
  57. LDA $AA,X7 a4 A* R6 U0 d% H
  58. AND #$0F& x# R5 R" ?- W7 v. Q
  59. RTS3 b# t& T" V: o* \5 |6 }9 O* [
  60. ) E$ B3 m, @$ l
  61. .ORG $89A0* i% n6 l3 Y1 a: M/ Y

  62. . ^7 H. X# Q  [! Q' |
  63. ;互相伤害7 }8 M8 J0 ^. o9 t7 _- u
  64. ;========================================# N" c! E4 h! e) }* `
  65. Hurt_Player:
    ! j" K' f& m/ t9 c" a) u/ U
  66. STX Reg_X_Temp
    - J' x2 W) S# g. u4 ^
  67. STY Reg_Y_Temp$ R( J( z/ G' y$ A" v% V
  68. JSR CheckInvalidState  q  T# v! y' ~& \- z
  69. BCS HurtPlayerEnd
    5 i( L) F$ y+ G
  70. LDA Bullet_Owner,X
    4 |! g1 J. ?5 X# c) i: O: I, Q
  71. EOR #@0000001
    ! O9 ]5 p0 @* \$ w
  72. TAY
    , o0 D8 C1 `: R. w  b) \
  73. JSR GetHitOffset
    # `8 ]7 Z# k$ T/ |0 x
  74. JSR GetOffet_X
    ( B4 \0 {! F5 Y* B
  75. JSR GetOffet_Y
    * J  K4 \, {9 o1 w, d9 U( T5 {
  76. JSR Check_Hit( F% {- e: q: i1 G' M
  77. BCC HurtPlayerEnd+ N6 F/ W; k6 e* @# p& b) \$ P
  78. JSR Kill_Player
    % t1 y  J  w  S# h. o  g5 B% s
  79. HurtPlayerEnd:
    5 E( N. V# k: U5 s; Q1 l
  80. LDX Reg_X_Temp
    3 I6 e! @, m9 P  E6 H  ^7 O
  81. LDY Reg_Y_Temp  Z8 [; M: _+ U3 R! o4 v! e/ X
  82. LDA $0438,X
    , x' @. T% {4 B* M% y
  83. RTS) a, `  @2 W6 N# P4 R& F, z
  84. 6 `; H: d1 R6 I! F9 W2 B+ A
  85. ;检查无效状态
    * o3 _5 |, }; i9 p, ]
  86. ;========================================
    8 w) e5 }: |" D5 S% [7 l
  87. CheckInvalidState:
    8 G/ }( t  K+ G
  88. LDA Bullet_Owner,X
    8 }9 O0 B& R1 m
  89. EOR #@00000010 [, o1 `* C# M" P2 l6 r
  90. TAY
    % }2 K4 l+ I" A4 f
  91. LDA P1_STATUE,Y
    6 x! K# Q$ @9 Y5 k6 z/ w  b
  92. CMP #LIVE_VALUE
    $ B0 B  V' ?4 R6 B* z
  93. BNE SetInvalidState
    2 Z: b( j7 G  _% E. Y( T
  94. LDA P1_ACTION,Y
    - V6 p, p& @3 F" r7 Q
  95. CMP #DIVING_VALUE
    ! s1 N! p5 d0 R$ b: s' w- h
  96. BNE CheckStateEnd
    1 k/ Q; b) R& w# `. ?/ b( [: @
  97. SetInvalidState:- A8 p* T8 O+ l2 }: Q
  98. SEC0 ?% X$ S0 F0 H- ?
  99. RTS) K. P# S' P( x9 J' F$ h3 [
  100. CheckStateEnd:
    1 _6 ?  e) T1 U1 s' l' V
  101. CLC
    : ?8 W- q9 f/ ~6 Q2 i
  102. RTS
    ; D* O/ Y, c; B4 W, y" }
  103. ( `# w* p, r  S, z0 U$ |
  104. ;设置命中误差
    3 h- }) g2 A! t- i
  105. ;========================================# F9 Q' B3 z/ D- @
  106. GetHitOffset:, w% j& ], J* ]9 N2 o9 D+ Q
  107. LDA #OFFET_X_STAND
    % H. b$ A( p; X/ C9 b" D) z
  108. STA Offet_X_Check' S' {  A: @; n3 Y
  109. LDA #OFFET_Y_STAND, s: x0 x  _" T. c* P
  110. STA Offet_Y_Check) ?! d& l# `/ R& ^2 s
  111. LDA #$00
    7 K0 x# C8 a9 C, `- j
  112. STA State_Offet_X
    - H+ H# G5 _# Z& A; k: e# ~6 D' Z
  113. STA State_Offet_Y  j0 v- B0 o. @- [9 C( w+ x+ f2 u
  114. GetHitOffset_Diving:
    + [9 n4 W) Z7 y# b
  115. LDA P1_ACTION,Y
    3 ?1 b1 j5 M- h& o3 r8 {- M
  116. AND #DIVING_VALUE1 S: G7 Y  c1 d( u" ?2 K% {3 R' |9 r
  117. CMP #DIVING_VALUE( S; I# z! @# V) Y
  118. BNE GetHitOffset_Lay
    " \2 ?1 m! M1 L* l% w8 U$ N9 p
  119. LDA #STATE_X_DIVING' v) Y0 N* d, W/ g
  120. STA State_Offet_X( G/ W1 I* G8 ~& Q
  121. LDA P1_FACE,Y
    # b" ]" m; R6 O/ U  m7 L
  122. AND #$409 j' N3 o$ u! B7 L
  123. BEQ GetHitOffset_Lay
    ( x+ j' U5 D% V: M! q# W
  124. LDA #$00) c% D, V0 k4 E7 I1 R+ `
  125. SEC
    # i, ?. y& W3 E: X' P* i$ W1 H, {
  126. SBC State_Offet_X  m  s' Q  p  q& [) C8 h- S$ D
  127. STA State_Offet_X
    $ F; G0 k, @! p  c) h
  128. GetHitOffset_Lay:: A; a4 H( x& r% T
  129. LDA P1_ACTION,Y
    & D) M0 A6 U2 l/ l' Q/ l+ s! {8 u& y. Q
  130. CMP #LAY_VALUE& T. H  m+ L1 Z2 e. k0 x* G
  131. BNE GetHitOffset_Jump
    / Z% Y+ o8 N" w. e1 W  |
  132. LDA #OFFET_X_LAY/ w! _4 k( X9 y  Z
  133. STA Offet_X_Check
    % ^* Q+ m0 p" L
  134. LDA #OFFET_Y_LAY
    7 K8 \& z( M& y. f8 Y" a
  135. STA Offet_Y_Check4 Q4 D* M! e) H7 ~9 r
  136. LDA #STATE_Y_LAY
    4 M+ J! z: \6 P: j. a" B! T
  137. STA State_Offet_Y
    7 z& a& W! ]' P4 ~/ V' i9 D, n# [
  138. RTS
    ; X# @+ t# K" m. ~) B" i
  139. GetHitOffset_Jump:
    1 M$ U" e0 O( S5 _3 V  ?
  140. LDA P1_ACTION,Y9 y( e9 {4 f# d
  141. AND #@11110110" U8 O0 Q' U$ {: F" i2 D5 P" z
  142. BNE GetHitOffsetEnd7 W; x5 s# E4 `/ C8 Y. {2 {. T
  143. LDA P1_ACTION,X
    # C: i7 B8 c7 Z6 Z# p
  144. AND #JUMP_VALUE
    8 A# c, Q, n4 V5 i" {, X9 |! d
  145. BEQ GetHitOffsetEnd
    - N) k' t! E' f$ D- ^, n
  146. LDA #OFFET_X_JUMP
    2 v* {- {0 f0 Y/ i% B1 Z1 a, ^4 s
  147. STA Offet_X_Check
    - E5 e/ f  C" X; U3 Z
  148. LDA #OFFET_Y_JUMP
    4 R7 t* V! u4 _: H( r  F7 a( J
  149. STA Offet_Y_Check! r2 I) `  ~" G: ?
  150. RTS
    ; {" t1 @6 X% e' u6 c0 Y6 [, c
  151. GetHitOffsetEnd:
    % a- ^, I: X) d" Q: Y  T# V
  152. RTS# Y: ?5 o9 k& t# v

  153. ' l) X  f; K2 ]) `7 R2 F5 }1 Q

  154. + G( z3 V+ E; z$ u, x# D4 t) l
  155. ;获取子弹与角色X坐标差
    . `4 J2 h* y. h, N  }1 |8 [
  156. ;========================================
    , h9 K, b; R" p# f
  157. GetOffet_X:4 e$ J. i9 L! a9 \
  158. LDA Bullet_X,X/ W) o2 l% ?+ V" s/ z5 @9 a
  159. SEC8 |* U9 w2 j9 {% E0 \
  160. SBC State_Offet_X1 w+ M* r6 r' V+ U" p* M
  161. CMP P1_X,Y. m4 [8 H/ _0 ?$ S" i- E0 Q
  162. BCC GetOffet_X_Set: v: H) ~/ W4 j: v
  163. LDA Bullet_X,X5 Y* D) I* Y& I7 C) p1 Q
  164. SEC) V& L' |9 b7 P
  165. SBC State_Offet_X
    " F  e( O& F% j# f5 B7 I1 c
  166. SEC0 {- }/ ?  i, C; ~
  167. SBC P1_X,Y" @& P( S  Z1 X( q$ x
  168. STA Hit_Offet_X
      s  {% y& m7 r% o1 S
  169. RTS6 P% P/ B1 {! a
  170. GetOffet_X_Set:
    * P3 z8 K% r# g+ T2 n
  171. LDA P1_X,Y: g+ A: K  p7 x  J+ B+ ]# H
  172. CLC  P& ?- d( o- H# @6 Z; Y
  173. ADC State_Offet_X: j* l7 ]$ L+ M
  174. SEC" f6 ~. I' R+ ^% A" x& \
  175. SBC Bullet_X,X
    5 i! H  J  C; e: o) a/ @# E8 F* T
  176. STA Hit_Offet_X# s# q! @" U. C( J7 y; H+ a
  177. RTS
    / E& ^. g7 U+ D- l# \
  178. ' b1 t: a4 D" X4 q
  179. ;获取子弹与角色Y坐标差
    0 _+ q& m8 q0 K8 G1 T- Q& O
  180. ;========================================
    # T3 ^5 E; o5 X* B' \* R# N- \
  181. GetOffet_Y:
    ; B: T* A% ?  _; A4 s# u0 k% m
  182. LDA Bullet_Y,X
    - Z$ O: }9 ^  S1 z4 i' |" e3 v
  183. SEC
    6 P: G  [- h7 n. U0 O+ R
  184. SBC State_Offet_Y$ u5 u! d0 y* G1 n" F  f5 Q
  185. CMP P1_Y,Y
    " P# f0 c; Y2 b2 T" ]3 g
  186. BCC GetOffet_Y_Set; {3 a+ b. U1 |; U, f1 j
  187. LDA Bullet_Y,X6 \8 ]( S9 c6 k
  188. SEC+ u+ h1 K0 R9 E- s
  189. SBC State_Offet_Y
    9 q* _4 w( m4 l% Y: V
  190. SEC/ K( n. Y/ u+ R9 V+ i; n  X
  191. SBC P1_Y,Y5 y% j) M9 @7 [; Q; |3 P
  192. STA Hit_Offet_Y
    4 V* l( F" ^7 k& B6 J# ?
  193. RTS
    0 H& Z6 H( z; H; C0 b
  194. GetOffet_Y_Set:1 g+ J3 w4 ?9 B+ j& z+ v& @; j
  195. LDA P1_Y,Y) d) j1 a3 t( \6 X- m: r
  196. CLC: m) ~# K- c4 S4 T/ n
  197. ADC State_Offet_Y
    . h) r; D" i. Q+ x  H
  198. SEC$ m$ A: P7 {( m: g0 T
  199. SBC Bullet_Y,X
    + U0 U) q7 A! A4 ?/ m, ^. `
  200. STA Hit_Offet_Y
    5 E! A8 e+ ?. k0 X) a! C
  201. RTS
    7 W& ^" R  g# ]
  202. % G$ B, {; h. p! b" p& V
  203. ;检查命中( u5 m1 q- Q5 Z+ o& W7 k! m! m
  204. ;========================================
    , u9 Y( p$ K" i0 x; ^
  205. Check_Hit:- c  J7 t! L1 U, A5 e- a( J
  206. LDA Hit_Offet_X
    8 K7 M" r  l! U: s) O: `* Q
  207. CMP Offet_X_Check( u' P( ^0 L) I) x
  208. BCS Check_Hit_End
    , U* B" e. x2 Y  m/ M1 v+ A) A# d
  209. LDA Hit_Offet_Y
    + N) s2 `! D2 `1 w
  210. CMP Offet_Y_Check
    % p1 i9 ^# o/ S
  211. BCS Check_Hit_End  W- W, L1 \( t% U/ Q( r+ u
  212. SEC. l+ h8 o0 P) [' `1 v, ]
  213. RTS
    # Y' w! _, u& w, c$ R8 x& H
  214. Check_Hit_End:" h& C( p  y! D5 J' H5 m$ n7 T
  215. CLC
    4 Q% [2 B, }" ~7 c+ P
  216. RTS0 N' y# U* t: N& c; p- o% e. G
  217. + b  \3 M% ~  M! w" g, Q' C7 O
  218. ;杀死对方
    & I% r  d* ^9 P! [  w
  219. ;========================================
    - |8 j6 b! E" f; s( G' |
  220. Kill_Player:7 T4 P/ \7 O9 S
  221. LDA Bullet_Owner,X
      `. e, P' Q  g, \, s. O, A
  222. EOR #@0000001$ Y: l! U" M* V# K6 t6 P# b) P3 j
  223. TAX
    2 Z7 s$ ?& K% C/ G" m% N
  224. LDA P1_STATUE,X
    ' X6 H$ s2 }8 t& h. J9 a
  225. CMP #LIVE_VALUE: n2 y" Q* R0 c2 e3 ?; |0 g
  226. BNE Kill_Player_End
    9 ~7 r" H2 f  n
  227. LDA P1_INVINCIBLE_A,X2 e, e; M# H+ L/ G( e# Y+ _
  228. ORA P1_INVINCIBLE_B,X
    , \7 w: o/ f8 U5 c; v( q0 a
  229. BNE Kill_Player_End ;无敌状态不处理- G! c2 R$ h" f) b( Z; d
  230. JSR $D474 ;角色死亡
    ) ]$ C1 I6 K% \
  231. LDX Reg_X_Temp
    ! G  A, I4 z4 s4 I" }  R9 q9 y& U* v
  232. LDA Bullet_Owner,X0 p# r! ]1 ], d1 ]* _: u+ v) q5 j
  233. TAX
    + a* r+ `- J8 i1 z
  234. INC P1_REST,X; ?: o4 B) G( x7 y' Z. `! E1 \' u
  235. LDX Reg_X_Temp0 q9 a/ A6 a' J! g3 O
  236. JSR $E2FE ;子弹消除4 u) `9 d% M- ?3 h
  237. Kill_Player_End:/ W, c! ?! Q3 j1 ^! L
  238. RTS
复制代码
" g4 {0 |7 N! h! {+ ?
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

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

×

评分

1

查看全部评分

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

签到天数: 1444 天

[LV.10]以坛为家III

发表于 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 | 显示全部楼层
多谢分享,修改辛苦了
  @4 A, q  q, @. ]' F" ?: P
[发帖际遇]: dabayu 被钱袋砸中进医院,看病花了 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3028 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 1360 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 519 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 905 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 636 天

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

使用道具 举报

签到天数: 3164 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-6 13:20

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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