请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

新模拟器共享论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

1 2

最近看过此主题的会员

查看: 1046|回复: 23

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

  [复制链接]

签到天数: 350 天

[LV.8]以坛为家I

评论头像

发表于 2020-5-5 15:09:15 | 显示全部楼层 |阅读模式
本帖最后由 FlameCyclone 于 2020-5-5 15:22 编辑

先祝福大家五一快乐, 虽然来晚了哈, 废话就不多说了
1.选择键切换子弹(为了更快杀死对方)
2.杀死对方自己加命




  1. ;[FC][魂斗罗][互相伤害][END]
  2. ;20200505

  3. .ORG $8960

  4. P1_STATUE          = $90      ;状态
  5. P1_INVINCIBLE_A    = $AE      ;透明无敌
  6. P1_INVINCIBLE_B    = $B0      ;闪烁无敌
  7. P1_REST            = $32      ;P1剩余生命
  8. LIVE_VALUE         = $01      ;活着数值
  9. P1_ACTION          = $D6      ;趴下
  10. P1_FACE            = $D8      ;P1面向
  11. LAY_VALUE          = $17      ;趴下数值
  12. JUMP_VALUE         = $08      ;趴下数值
  13. DIVING_VALUE       = $18      ;潜水数值
  14. P1_X               = $0334    ;P1 X坐标
  15. P2_X               = $0335    ;P2 X坐标
  16. P1_Y               = $031A    ;P1 Y坐标
  17. P2_Y               = $031B    ;P2 Y坐标
  18. Bullet_X           = $03C8    ;子弹X坐标
  19. Bullet_Y           = $03B8    ;子弹Y坐标
  20. Bullet_Owner       = $0448    ;子弹所属者
  21. Hit_Offet_X        = $01C0    ;命中误差X
  22. Hit_Offet_Y        = $01C1    ;命中误差Y
  23. State_Offet_X      = $01C2    ;动作误差X
  24. State_Offet_Y      = $01C3    ;动作误差X
  25. Offet_X_Check      = $01C4    ;坐标差X
  26. Offet_Y_Check      = $01C5    ;坐标差Y
  27. Reg_X_Temp         = $01C6    ;寄存器X暂存
  28. Reg_Y_Temp         = $01C7    ;寄存器Y暂存
  29. OFFET_X_STAND      = $06      ;坐标差X值
  30. OFFET_Y_STAND      = $10      ;坐标差Y值
  31. OFFET_X_LAY        = $10      ;趴下坐标差X值
  32. OFFET_Y_LAY        = $07      ;趴下坐标差Y值
  33. OFFET_X_JUMP       = $08      ;跳跃坐标差X值
  34. OFFET_Y_JUMP       = $08      ;跳跃坐标差Y值
  35. STATE_X_DIVING     = $02      ;潜水动作误差X值
  36. STATE_Y_LAY        = $04      ;趴下动作误差X值

  37. ;武器切换
  38. Btn_Once = $F5       ;单次按键
  39. ;========================================
  40. ChangeWeapon:
  41. LDA Btn_Once,X
  42. CMP #$20
  43. BNE ChangeWeaponEnd
  44. LDA $AA,X
  45. ORA #$10
  46. STA $AA,X
  47. CMP #$14
  48. BNE WeaponSet
  49. LDA #$0F
  50. STA $AA,X
  51. WeaponSet:
  52. INC $AA,X
  53. ChangeWeaponEnd:
  54. LDA $AA,X
  55. AND #$0F
  56. RTS

  57. .ORG $89A0

  58. ;互相伤害
  59. ;========================================
  60. Hurt_Player:
  61. STX Reg_X_Temp
  62. STY Reg_Y_Temp
  63. JSR CheckInvalidState
  64. BCS HurtPlayerEnd
  65. LDA Bullet_Owner,X
  66. EOR #@0000001
  67. TAY
  68. JSR GetHitOffset
  69. JSR GetOffet_X
  70. JSR GetOffet_Y
  71. JSR Check_Hit
  72. BCC HurtPlayerEnd
  73. JSR Kill_Player
  74. HurtPlayerEnd:
  75. LDX Reg_X_Temp
  76. LDY Reg_Y_Temp
  77. LDA $0438,X
  78. RTS

  79. ;检查无效状态
  80. ;========================================
  81. CheckInvalidState:
  82. LDA Bullet_Owner,X
  83. EOR #@0000001
  84. TAY
  85. LDA P1_STATUE,Y
  86. CMP #LIVE_VALUE
  87. BNE SetInvalidState
  88. LDA P1_ACTION,Y
  89. CMP #DIVING_VALUE
  90. BNE CheckStateEnd
  91. SetInvalidState:
  92. SEC
  93. RTS
  94. CheckStateEnd:
  95. CLC
  96. RTS

  97. ;设置命中误差
  98. ;========================================
  99. GetHitOffset:
  100. LDA #OFFET_X_STAND
  101. STA Offet_X_Check
  102. LDA #OFFET_Y_STAND
  103. STA Offet_Y_Check
  104. LDA #$00
  105. STA State_Offet_X
  106. STA State_Offet_Y
  107. GetHitOffset_Diving:
  108. LDA P1_ACTION,Y
  109. AND #DIVING_VALUE
  110. CMP #DIVING_VALUE
  111. BNE GetHitOffset_Lay
  112. LDA #STATE_X_DIVING
  113. STA State_Offet_X
  114. LDA P1_FACE,Y
  115. AND #$40
  116. BEQ GetHitOffset_Lay
  117. LDA #$00
  118. SEC
  119. SBC State_Offet_X
  120. STA State_Offet_X
  121. GetHitOffset_Lay:
  122. LDA P1_ACTION,Y
  123. CMP #LAY_VALUE
  124. BNE GetHitOffset_Jump
  125. LDA #OFFET_X_LAY
  126. STA Offet_X_Check
  127. LDA #OFFET_Y_LAY
  128. STA Offet_Y_Check
  129. LDA #STATE_Y_LAY
  130. STA State_Offet_Y
  131. RTS
  132. GetHitOffset_Jump:
  133. LDA P1_ACTION,Y
  134. AND #@11110110
  135. BNE GetHitOffsetEnd
  136. LDA P1_ACTION,X
  137. AND #JUMP_VALUE
  138. BEQ GetHitOffsetEnd
  139. LDA #OFFET_X_JUMP
  140. STA Offet_X_Check
  141. LDA #OFFET_Y_JUMP
  142. STA Offet_Y_Check
  143. RTS
  144. GetHitOffsetEnd:
  145. RTS


  146. ;获取子弹与角色X坐标差
  147. ;========================================
  148. GetOffet_X:
  149. LDA Bullet_X,X
  150. SEC
  151. SBC State_Offet_X
  152. CMP P1_X,Y
  153. BCC GetOffet_X_Set
  154. LDA Bullet_X,X
  155. SEC
  156. SBC State_Offet_X
  157. SEC
  158. SBC P1_X,Y
  159. STA Hit_Offet_X
  160. RTS
  161. GetOffet_X_Set:
  162. LDA P1_X,Y
  163. CLC
  164. ADC State_Offet_X
  165. SEC
  166. SBC Bullet_X,X
  167. STA Hit_Offet_X
  168. RTS

  169. ;获取子弹与角色Y坐标差
  170. ;========================================
  171. GetOffet_Y:
  172. LDA Bullet_Y,X
  173. SEC
  174. SBC State_Offet_Y
  175. CMP P1_Y,Y
  176. BCC GetOffet_Y_Set
  177. LDA Bullet_Y,X
  178. SEC
  179. SBC State_Offet_Y
  180. SEC
  181. SBC P1_Y,Y
  182. STA Hit_Offet_Y
  183. RTS
  184. GetOffet_Y_Set:
  185. LDA P1_Y,Y
  186. CLC
  187. ADC State_Offet_Y
  188. SEC
  189. SBC Bullet_Y,X
  190. STA Hit_Offet_Y
  191. RTS

  192. ;检查命中
  193. ;========================================
  194. Check_Hit:
  195. LDA Hit_Offet_X
  196. CMP Offet_X_Check
  197. BCS Check_Hit_End
  198. LDA Hit_Offet_Y
  199. CMP Offet_Y_Check
  200. BCS Check_Hit_End
  201. SEC
  202. RTS
  203. Check_Hit_End:
  204. CLC
  205. RTS

  206. ;杀死对方
  207. ;========================================
  208. Kill_Player:
  209. LDA Bullet_Owner,X
  210. EOR #@0000001
  211. TAX
  212. LDA P1_STATUE,X
  213. CMP #LIVE_VALUE
  214. BNE Kill_Player_End
  215. LDA P1_INVINCIBLE_A,X
  216. ORA P1_INVINCIBLE_B,X
  217. BNE Kill_Player_End ;无敌状态不处理
  218. JSR $D474 ;角色死亡
  219. LDX Reg_X_Temp
  220. LDA Bullet_Owner,X
  221. TAX
  222. INC P1_REST,X
  223. LDX Reg_X_Temp
  224. JSR $E2FE ;子弹消除
  225. Kill_Player_End:
  226. RTS
复制代码





游客,如果您要查看本帖隐藏内容请回复





本帖子中包含更多资源

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

x

评分

2

查看全部评分

回复

使用道具 举报

签到天数: 1492 天

[LV.10]以坛为家III

评论头像

发表于 2020-5-5 16:30:03 | 显示全部楼层
我预感到霍燕童鞋会开始新一波的互相伤害热潮,马上赤影战士、赤色要塞。绿色兵团,沙罗曼蛇等等都会这样。。。
回复 支持 反对

使用道具 举报

签到天数: 824 天

[LV.10]以坛为家III

评论头像

发表于 2020-5-5 20:40:34 | 显示全部楼层
这个有创意!
[发帖际遇]: 游戏仙 姜维第二交手机费,竟交错 5 枚 金钱. 无语. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 350 天

[LV.8]以坛为家I

评论头像

发表于 2020-5-5 22:58:54 | 显示全部楼层

你想多了,不可能的
回复 支持 反对

使用道具 举报

签到天数: 1492 天

[LV.10]以坛为家III

评论头像

发表于 2020-5-6 00:00:44 | 显示全部楼层

我等着看你的创作
回复 支持 反对

使用道具 举报

签到天数: 91 天

[LV.6]常住居民II

评论头像

发表于 2020-5-6 11:46:08 | 显示全部楼层
可惜现在这年头,要找到一个原意坐下来跟自己一起玩fc并相互伤害的人有多难
回复 支持 反对

使用道具 举报

签到天数: 853 天

[LV.10]以坛为家III

评论头像(1)

发表于 2020-5-6 12:06:12 | 显示全部楼层
分怎么负数了,难道太多的缘故。
回复 支持 反对

使用道具 举报

签到天数: 768 天

[LV.10]以坛为家III

评论头像

发表于 2020-5-6 18:42:33 | 显示全部楼层
很不错的修改,就是现在很难找到人来互相伤害啊,怀念以前的岁月啊
回复 支持 反对

使用道具 举报

签到天数: 350 天

[LV.8]以坛为家I

评论头像

发表于 2020-5-6 21:17:38 | 显示全部楼层

遗憾的是现在没人玩fc了,我也没玩
[发帖际遇]: FlameCyclone 一个馅饼砸在你头上,奖励 2 枚 金钱. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 350 天

[LV.8]以坛为家I

评论头像

发表于 2020-5-6 21:18:43 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

新模拟器共享论坛X

翻译WIKI大量成长力和金钱奖励!

访问http://wiki.nesbbs.com,翻译词条到论坛指定区,每一个完成翻译并有采纳的,有成长力等奖励哟...

点击查看详情 

QQ|申请友链|小黑屋|手机版|Archiver|新模拟器共享网 ( 辽ICP备09001055号|繁體中文   

GMT+8, 2020-8-14 12:27 , Processed in 0.202800 second(s), 50 queries , XCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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