设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2020-5-5 15:40:24 | 显示全部楼层 |阅读模式
先祝福大家五一快乐, 虽然来晚了哈, 废话就不多说了6 C9 ?( i1 f) L! h% @! o* E4 u
1.选择键切换子弹(为了更快杀死对方)
, S4 I0 }3 |+ \! {' V) v2.杀死对方自己加命
5 N) m$ K9 C" Y. \2 g% X
  1. ;[FC][魂斗罗][互相伤害][END]' u* H  `$ x. q7 Q
  2. ;202005054 S  f3 Q& s, l7 @: {; g; T
  3. - n0 V9 C( h. z7 i4 b
  4. .ORG $89606 I) `! K. o# O: Q. n0 T5 z

  5. 4 D1 \" H/ {7 d% U
  6. P1_STATUE          = $90      ;状态
    : [1 A/ C" e$ T
  7. P1_INVINCIBLE_A    = $AE      ;透明无敌
      R2 E: d; e! J/ P& R, a3 Y# m
  8. P1_INVINCIBLE_B    = $B0      ;闪烁无敌) n/ z! [: v4 m) i/ C
  9. P1_REST            = $32      ;P1剩余生命
    ! u4 c4 G" h+ c& ^4 k: p
  10. LIVE_VALUE         = $01      ;活着数值
    ! {6 U& b/ a0 W6 f
  11. P1_ACTION          = $D6      ;趴下( }- }  x& ?+ t" \6 V' Z8 A
  12. P1_FACE            = $D8      ;P1面向
    : A4 v( j8 |0 Q* g7 m
  13. LAY_VALUE          = $17      ;趴下数值( @  w0 r( I5 Q- X* `2 ]6 M) R
  14. JUMP_VALUE         = $08      ;趴下数值
    2 k) N1 ]% X. b" ?5 \. G3 ]$ b
  15. DIVING_VALUE       = $18      ;潜水数值
      N8 Q& ~7 z. E' o# r8 b
  16. P1_X               = $0334    ;P1 X坐标; T2 s5 d$ T1 j+ a6 J9 H' \
  17. P2_X               = $0335    ;P2 X坐标' i* m5 K. \) |2 i. n7 G' M
  18. P1_Y               = $031A    ;P1 Y坐标
    9 b$ |+ ]" {7 l: @, t5 o) G
  19. P2_Y               = $031B    ;P2 Y坐标
    4 q* E3 a" y& [! a2 `. T- o
  20. Bullet_X           = $03C8    ;子弹X坐标
    8 I+ g9 q  d7 C! ~
  21. Bullet_Y           = $03B8    ;子弹Y坐标7 I+ d- o) i: q
  22. Bullet_Owner       = $0448    ;子弹所属者/ g6 s  y6 l* `6 d; M
  23. Hit_Offet_X        = $01C0    ;命中误差X8 ~/ h2 [5 |* {/ {, u$ b4 a. }
  24. Hit_Offet_Y        = $01C1    ;命中误差Y5 H$ k: s! D2 C) D1 D0 t6 }5 h" i
  25. State_Offet_X      = $01C2    ;动作误差X
    ; h7 @$ S1 f3 G+ u- z; {
  26. State_Offet_Y      = $01C3    ;动作误差X
    4 y$ \/ t0 x# L1 S, H2 `: c& i
  27. Offet_X_Check      = $01C4    ;坐标差X
    - ]9 I' E  v! p! ^+ P
  28. Offet_Y_Check      = $01C5    ;坐标差Y2 G* v& h6 G! M8 b+ H& y7 L
  29. Reg_X_Temp         = $01C6    ;寄存器X暂存
      k1 n6 J- J7 U  O6 n8 M% Y3 l
  30. Reg_Y_Temp         = $01C7    ;寄存器Y暂存
      |4 F# b' T/ ~0 B4 m
  31. OFFET_X_STAND      = $06      ;坐标差X值& Z9 n& t  w& D9 W& o& V
  32. OFFET_Y_STAND      = $10      ;坐标差Y值
    . V4 G( N; H) j1 g! U, Z; J2 K
  33. OFFET_X_LAY        = $10      ;趴下坐标差X值
    3 e8 l/ @* d# B( y* r
  34. OFFET_Y_LAY        = $07      ;趴下坐标差Y值
    ( h3 _& u" Q; e. }! Z# W. T
  35. OFFET_X_JUMP       = $08      ;跳跃坐标差X值
    6 H5 Y* Q4 z4 _- [2 Z. E
  36. OFFET_Y_JUMP       = $08      ;跳跃坐标差Y值$ O* H! a! C/ V$ k4 N/ t
  37. STATE_X_DIVING     = $02      ;潜水动作误差X值
    1 q9 Q6 P* F7 s- _: |  W! u9 B
  38. STATE_Y_LAY        = $04      ;趴下动作误差X值
    ( c' |; t3 Q/ O( j; f/ L1 `
  39. ) P* N  Z: m: k
  40. ;武器切换
    ) R+ E8 ~; s  O. S; [  H
  41. Btn_Once = $F5       ;单次按键
    , T2 t7 b) d) e) e2 x
  42. ;========================================6 m4 [' n1 g1 j9 \$ C) O/ k- f
  43. ChangeWeapon:
    * v+ f' ^" c! u$ |  A; ?% j
  44. LDA Btn_Once,X
    2 u' q  a0 H$ M% ^1 ?3 f9 V
  45. CMP #$20
    % b8 W: d/ j. r0 N' J
  46. BNE ChangeWeaponEnd
    - v- r: G* A% s3 |0 P' l
  47. LDA $AA,X
    9 y1 F7 k& u, s$ ?: _; P  U
  48. ORA #$102 Q6 D' j# s3 ]2 t6 l* _4 \
  49. STA $AA,X' a% u2 z9 q: Z& c. f
  50. CMP #$14
    ; V2 H! v" |. w/ c% _2 O% K
  51. BNE WeaponSet3 o6 H' x7 l" o7 o3 s- j. h: t
  52. LDA #$0F
    0 @" z; B4 ]3 }4 o- f4 b
  53. STA $AA,X! y- Y& s' ^' @
  54. WeaponSet:
    ! {  L; T+ K1 s2 E) K7 h3 K
  55. INC $AA,X
    + l7 Y. F4 G3 [6 L% Z
  56. ChangeWeaponEnd:
    + s' N7 u. T# u7 j6 e
  57. LDA $AA,X' i8 {7 w$ K6 ?9 W& {8 R
  58. AND #$0F
    * T. C, p# [4 Y3 `" [
  59. RTS" z) B' t% c* L& B: H
  60. 3 t, ~5 I6 F. @/ J
  61. .ORG $89A0- S9 A! c4 N  ?3 ^2 O

  62. ( k( m6 s: ^8 F, l
  63. ;互相伤害8 q* S* ^/ ^, W0 j! V5 u/ c
  64. ;========================================8 ^) w- K8 z, q* X$ l
  65. Hurt_Player:
    : s$ g( \9 i1 n: \- z
  66. STX Reg_X_Temp
    0 x: x( Z9 Z! H! u0 I
  67. STY Reg_Y_Temp& w  F  }& h3 J) o# u/ S* Q
  68. JSR CheckInvalidState
    & g- J3 X6 l. P
  69. BCS HurtPlayerEnd6 n  X8 [9 y9 p' X. f
  70. LDA Bullet_Owner,X
    & S9 I9 |. Q3 i- A3 ^$ T
  71. EOR #@00000013 V( K! O8 o7 Q; x# C
  72. TAY+ T, N7 H! W  W
  73. JSR GetHitOffset
    ( M0 m, ?8 G3 B6 }2 U! {
  74. JSR GetOffet_X
    2 X% J* m# u$ }* p9 X
  75. JSR GetOffet_Y4 W+ R3 O6 k- d4 e8 u
  76. JSR Check_Hit/ S8 P  O" x" K
  77. BCC HurtPlayerEnd
    ' Y0 e! y) g7 W" g
  78. JSR Kill_Player! n% O5 S$ k' b# a1 @
  79. HurtPlayerEnd:
    ' m- O* u' v* P7 F
  80. LDX Reg_X_Temp
    , r9 P  D* e6 j% P. ~
  81. LDY Reg_Y_Temp2 e. ^% F8 {1 z
  82. LDA $0438,X
    . d8 T$ W$ b1 f& E& ]( q4 \, n
  83. RTS
    / Z: u9 T1 c; i$ F  ?2 v$ w  H
  84. & l0 ]$ z; ~$ q7 o
  85. ;检查无效状态) z# p( m$ [/ B" B
  86. ;========================================
    / I1 ?* `" c5 o( D* k( w; h: c9 `
  87. CheckInvalidState:
    # a  @! `1 s0 ?2 I
  88. LDA Bullet_Owner,X
    / U- `& r2 G! k
  89. EOR #@0000001
    ! e8 t4 ?5 U6 D# p) v9 C% t
  90. TAY  @+ p4 s: d2 \1 F
  91. LDA P1_STATUE,Y
    ; ]. J* s# N* c: T/ T
  92. CMP #LIVE_VALUE, v- U9 e1 K4 V/ _9 ~4 B
  93. BNE SetInvalidState
    & c- J1 h- r6 D
  94. LDA P1_ACTION,Y
    ' I9 E& v* e! e" d4 i, E8 w
  95. CMP #DIVING_VALUE
    $ l- C. a2 i7 e8 |: n9 s3 {
  96. BNE CheckStateEnd3 F) a! `. C+ }9 H5 N0 S
  97. SetInvalidState:
    , _/ j  A7 L9 X' [
  98. SEC
    7 y% H% _- R& X: d4 X; H8 b% X' y1 G$ }* @
  99. RTS
    " q. h6 X$ E% c& }- |
  100. CheckStateEnd:
    9 t0 S' s" _3 B, U
  101. CLC( }# E$ F! d$ T* }' s5 \
  102. RTS( }  N1 v, n( T1 @1 `; U% ]
  103. ! D1 \  V2 z7 {( Z) ?
  104. ;设置命中误差
    " h4 v, p: P; D% f" b2 j# a
  105. ;========================================+ J& O( Q7 F- S2 z8 F1 t9 V
  106. GetHitOffset:- |2 }/ F8 x# g# J& g6 c
  107. LDA #OFFET_X_STAND
    ' k# z( J. e' c; j' J
  108. STA Offet_X_Check! p0 F6 j" U- C
  109. LDA #OFFET_Y_STAND
    & T9 m4 K' S/ N
  110. STA Offet_Y_Check# [+ Q4 f, t; f5 J" t
  111. LDA #$00, n/ h$ m6 _# x8 v1 u( I
  112. STA State_Offet_X; w2 T% z& e* y. P* t! q( e
  113. STA State_Offet_Y& a, N) \  ?8 I
  114. GetHitOffset_Diving:
    % C9 T% R; I  ~0 P$ T
  115. LDA P1_ACTION,Y, ?6 u) Q* n, o! l
  116. AND #DIVING_VALUE9 n5 U! e8 e$ t2 J6 R6 D6 I. ]
  117. CMP #DIVING_VALUE
    ; ?5 F1 N$ Q, |& c* c4 k! ]
  118. BNE GetHitOffset_Lay
    ( D( H" n* W: h5 c6 |: a
  119. LDA #STATE_X_DIVING
    2 C  l4 y1 Y7 V3 k
  120. STA State_Offet_X6 K# B+ `: s# }' i
  121. LDA P1_FACE,Y  c% E) P# B, i( H9 C; Q3 V/ H
  122. AND #$40+ q: z1 K: C) z" B5 ^8 L; F) W- U
  123. BEQ GetHitOffset_Lay
    * p+ P% N! Z7 t7 B
  124. LDA #$00# k% @& I3 D! p- I# c0 @! ?! c
  125. SEC
    : d4 r1 L4 u8 N
  126. SBC State_Offet_X! \" m" C- e: \5 R; Q
  127. STA State_Offet_X5 i6 Z. w5 \% a0 L* ~1 W8 W" D
  128. GetHitOffset_Lay:
    3 z/ M, I# N' S  k7 A
  129. LDA P1_ACTION,Y$ o* _1 D. v1 |2 p* Z* f6 s
  130. CMP #LAY_VALUE
    : j! p# d* d- ?& p7 }
  131. BNE GetHitOffset_Jump
      f+ V+ X- q6 h6 i) k6 Z
  132. LDA #OFFET_X_LAY
    ; K/ w0 D' d8 A8 T" K7 W. u0 A2 m: J
  133. STA Offet_X_Check
    8 X* f/ w3 N$ U% s4 v
  134. LDA #OFFET_Y_LAY
    ! p  e7 V+ R. l8 _1 Z8 _
  135. STA Offet_Y_Check
    - Z) {* g* p5 C) X
  136. LDA #STATE_Y_LAY; ?# K3 _' Z$ N+ e
  137. STA State_Offet_Y
    8 y) Q0 ~. R2 l3 c- L# a
  138. RTS8 Z( P( _' O/ v4 I+ E
  139. GetHitOffset_Jump:1 N5 h1 k( T9 J
  140. LDA P1_ACTION,Y) z7 L6 C& T, F8 @0 g
  141. AND #@11110110
    " s( |0 Y- U. h0 t  c
  142. BNE GetHitOffsetEnd$ ^3 R: w/ s/ r, v4 @* `
  143. LDA P1_ACTION,X
      ^# \* m( v7 j: ?6 g; E' ?. Z
  144. AND #JUMP_VALUE$ k( N9 D) y( g2 L5 \3 t
  145. BEQ GetHitOffsetEnd$ }7 m# P( o* H6 i1 [0 I
  146. LDA #OFFET_X_JUMP) ]* U$ T: V. J/ H$ F( K
  147. STA Offet_X_Check. r4 x% E, b8 w5 \+ Y8 j% r
  148. LDA #OFFET_Y_JUMP
    6 o& e" Y& j5 g7 z1 @
  149. STA Offet_Y_Check
    ) R% t3 M+ P, T& u( B; P
  150. RTS
      y% }/ f) K2 N1 O: R, I: I
  151. GetHitOffsetEnd:: d3 B1 o: Q9 E) K, C# m
  152. RTS0 S/ ?; O4 h5 |1 {+ N5 {

  153. * `# K) R0 J" n
  154. . G' F6 Q% F% o7 x% H" _9 Q. c
  155. ;获取子弹与角色X坐标差# O+ J# ]: k8 U7 k% u0 L9 J
  156. ;========================================
    0 {, m& Z3 I% f5 o- ~
  157. GetOffet_X:3 L$ V1 {) ]! N8 D6 i
  158. LDA Bullet_X,X' s# p1 X0 u5 N8 V* r
  159. SEC
    ) H: L: M! L7 I' n7 n
  160. SBC State_Offet_X
    $ t8 W8 e0 x# u: G: P; |
  161. CMP P1_X,Y+ c% Q# ?' ?7 A% `" y* M1 \
  162. BCC GetOffet_X_Set
    ) b- R, f/ f- {! S+ v' I
  163. LDA Bullet_X,X3 v8 j8 K5 j# W+ U  v1 M( r( C
  164. SEC
    + j4 U: K! D$ g/ c
  165. SBC State_Offet_X
    0 K& a4 N$ P, L( V  x7 U+ ?/ e
  166. SEC0 G" ?6 E4 j/ Q% I/ \
  167. SBC P1_X,Y
    4 m" R& G/ R- [4 ~8 f
  168. STA Hit_Offet_X
    * r+ ^& t2 q5 i( t) b% G- `! x" y
  169. RTS) F' [3 r5 e" O- `
  170. GetOffet_X_Set:+ l, ^! d; D- B# O5 @% r
  171. LDA P1_X,Y) A% J! p1 M$ d1 K& r" P
  172. CLC' Z4 n6 ^0 S, h
  173. ADC State_Offet_X
    - v; C- k8 f: i) A8 y4 m
  174. SEC3 J# B. ^. P' G6 J8 x- v8 s
  175. SBC Bullet_X,X
    # f6 ]2 o. {4 b. y
  176. STA Hit_Offet_X2 q5 h0 H1 [' r; P
  177. RTS1 U. o7 @. M3 q9 {
  178. 3 e! x9 w. J3 R7 f2 j
  179. ;获取子弹与角色Y坐标差
    7 ?! W* v3 o$ m7 Y( `6 S: |
  180. ;========================================+ P  \1 V8 f! P' P
  181. GetOffet_Y:
    ( H& R+ f( ]% A  a% y
  182. LDA Bullet_Y,X
    1 z+ Y6 {% l) }* Z& B8 K# j
  183. SEC
    % Y! F7 V. X) \9 n
  184. SBC State_Offet_Y
    $ N2 S& R  X) k, `* F6 J
  185. CMP P1_Y,Y
    & A. p) b! ]+ b8 G3 T
  186. BCC GetOffet_Y_Set
    & m9 \3 M# p. n! Q& N& R
  187. LDA Bullet_Y,X
    # W, q7 Z: `5 ?
  188. SEC
    8 u9 e, J- C7 o0 R% x7 J
  189. SBC State_Offet_Y# P  E7 W$ s5 o
  190. SEC! F& }  T3 p7 w& `9 z. n% ^
  191. SBC P1_Y,Y1 I+ y: M2 H  a: a+ E0 s, X% d
  192. STA Hit_Offet_Y
    - A( ^# {5 Y* y2 C; `" Q
  193. RTS# O7 {) m5 u" M/ m; J
  194. GetOffet_Y_Set:; Q) ?6 J" j) Y  E. c* z3 |: r
  195. LDA P1_Y,Y, w5 Q1 I0 v& H5 ]
  196. CLC: @# b$ a. Q  U7 k
  197. ADC State_Offet_Y0 T; t: C* X$ w9 r
  198. SEC
    0 A5 x, v+ s8 ]! ^7 O6 I
  199. SBC Bullet_Y,X
    ( }4 M3 S8 E3 R7 }9 @/ T( u
  200. STA Hit_Offet_Y
    4 z; t9 V+ i: O+ Q8 {
  201. RTS7 A' `4 e' @3 G* ?7 N
  202. ( j# i$ }7 J8 Z
  203. ;检查命中& {+ R0 E- f: \
  204. ;========================================
    & j0 w/ H0 A" M4 q% `
  205. Check_Hit:
    - y- {4 ]9 y  a% Z" A
  206. LDA Hit_Offet_X  k, h9 S% U1 c: M' c. T9 G3 o% |7 Z
  207. CMP Offet_X_Check2 m' w9 Q6 X( g2 Z6 |
  208. BCS Check_Hit_End
    ' U* z' F; s8 h7 f& Q# J
  209. LDA Hit_Offet_Y& V0 |7 b/ @1 Y
  210. CMP Offet_Y_Check
    2 _4 j/ ]  k4 h
  211. BCS Check_Hit_End
    3 E2 i0 J- W" u" z) R8 x" j
  212. SEC
    3 H2 P5 a* v8 C( Y9 ]5 m
  213. RTS" U% [) w0 ~7 \# e
  214. Check_Hit_End:
    3 |' x; C+ |* X/ e  g* m. T# D
  215. CLC
    , Y- ~$ J5 Z. o+ U* C2 {6 t  a$ Z- i
  216. RTS
    ! _/ _- m) V7 s" h$ B9 ]

  217. + e0 g" ^8 k# \6 i8 Y1 e' q
  218. ;杀死对方
    ! M, Z% f) F" p# o) a0 T
  219. ;========================================9 v( M6 G  X1 N* T
  220. Kill_Player:, F# b5 d" r, y$ e
  221. LDA Bullet_Owner,X* O6 ]$ `+ S! ~( \$ J0 A/ r
  222. EOR #@00000014 q. n2 i8 Q8 C) y* |% B
  223. TAX
    ( ^0 K# |& k, s5 y" {9 w
  224. LDA P1_STATUE,X
    6 x7 C) y% A9 L) V
  225. CMP #LIVE_VALUE
      F3 g+ C& q4 `/ l* g: K  j
  226. BNE Kill_Player_End
    - E1 M: c3 S* Z- O0 S
  227. LDA P1_INVINCIBLE_A,X
    % E& j' M0 H0 p' [* B% I
  228. ORA P1_INVINCIBLE_B,X
    6 |8 ^: n+ J  U% L$ Z. @% }
  229. BNE Kill_Player_End ;无敌状态不处理  F  {- P3 g4 B; s
  230. JSR $D474 ;角色死亡& h# L9 T/ X) e/ c$ ~# e# ~
  231. LDX Reg_X_Temp( S/ K  s5 k  j8 q+ s
  232. LDA Bullet_Owner,X& i7 T6 e: n/ r- j0 [/ Q- {
  233. TAX
    7 p! Q5 o. t- k- z( U
  234. INC P1_REST,X0 L& s  d+ O7 k1 k# O9 v2 B/ u) u
  235. LDX Reg_X_Temp7 M2 B  I5 o( V
  236. JSR $E2FE ;子弹消除
    ! b- F( y1 E, i" t
  237. Kill_Player_End:- r1 I2 c7 q  \! X" K
  238. RTS
复制代码
, Y7 }& v- N! b! y+ F
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

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

×

评分

1

查看全部评分

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

签到天数: 1504 天

[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 | 显示全部楼层
多谢分享,修改辛苦了
+ ~1 U0 a$ s7 ?1 l- R& P2 n1 }% v( k
[发帖际遇]: dabayu 被钱袋砸中进医院,看病花了 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3089 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 1419 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 574 天

[LV.9]以坛为家II

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

使用道具 举报

签到天数: 905 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 653 天

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

使用道具 举报

签到天数: 3223 天

[LV.Master]伴坛终老

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-6 01:48

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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