游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 清蒸鲈鱼

2D回合制游戏开发,战斗/技能实现遇到困难,求指导

[复制链接]

1

主题

5

帖子

29

积分

注册会员

Rank: 2

积分
29
 楼主| 发表于 2016-1-8 19:39:14 | 显示全部楼层
墨闻 发表于 2015-11-30 00:02
第1个问题:
要么存数据库,要么存到表格文件(自定义,或者用csv这种逗号分隔文件都可以)
至于技能表怎么定 ...

谢谢墨闻兄指教,问题差不多解决了。

1

主题

5

帖子

29

积分

注册会员

Rank: 2

积分
29
 楼主| 发表于 2016-1-8 19:40:14 | 显示全部楼层
VHwy 发表于 2015-11-29 22:43
给你提个经典问题,一个角色100攻,双持2把剑,2把剑各自+50攻同时增加50%攻击力,问角色此时应该有多少攻 ...

谢谢兄台指教,问题差不多解决了。

0

主题

10

帖子

52

积分

注册会员

Rank: 2

积分
52
发表于 2016-1-25 16:28:03 | 显示全部楼层
鄙人的一个实现方式~供楼主参考一下。在产生伤害前执行一次攻击者身上所有的buff的onAttackToOther,接着执行一次所有被攻击者身上的buff的onAttackByOther。对于buff执行顺序如果有先后顺序的需要,就给BUFF配上一个优先级就好了。最后从damageContext中获取相关的信息来计算伤害结果。

高级驱鬼_buff.onAttackToOther(me, other, damageContext) = {
      (通过j修改damageContext) 使鬼魂术失效, other带鬼魂术的,伤害加成
}

高级鬼魂术_buff.onAttackByOther(me, other, damageContext) = {
       (通过检查damageContext) 效果是否被禁用。如果禁用,则不做任何操作。否则(通过j修改damageContext)死亡后N个回合复活。
}

高级必杀_buff.onAttackToOther(me, other, damageContext) = {
      (通过修改damageContext) 在暴击概率字典中标记dict["必杀"]=N%
}

高级幸运_buff.onAttackByOther(me, other, damageContext) = {
       (通过检查damageContext) 暴击概率字典中是否存在"必杀",如果存在,则删除。
}
// 最后结算的时候总的暴击概率是通过遍历暴击字典来算总的加成
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-25 11:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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