用数组做技能name,attack,效果,属性的储存检索可能很慢,尝试使用哈希。

一、方法设计

  1. 写一个函数计算属性相克伤害倍率:攻击属性2种,物攻特攻,攻击属性。
  2. 某些怪物拥有双属性,所以属性同时需要两个数组,用if(||)这样的形式来判断相克或者不相克,定义int伤害倍率,相克*2,不相克*1,耐受*0.5。
  3. 如果单一属性,则a[水]、b[正常],这种属性用数字来代表,需要先建立一个完整的相克表格。
  4. 精灵携带物品需要在战斗流程中判断先后使用顺序。
  5. tianqi()(判断当前天气所造成的效果,顺带一提钉子也算是天气吧)。
  6. xianzhizhuangtai()(麻痹,烧伤,睡眠,混乱,能力值的升降)。
  7. xianzhiwupinshiyong()(什么气息头巾啊,什么专爱眼镜啊,什么的)。
  8. shanghaibeilv()(综合以上因素计算伤害倍率)。
  9. xianzhijineng()(先制技能的存在可能决定战斗顺序)。
  10. speedcontrol()(根据速度决定先后状态)。
  11. 在speedcontrol()(中控制战斗流程)。
  12. fight()。
  13. texin()(要注意精灵的特性)。
  14. jinengxiaoguo()(实时计算技能效果,如能力的升降,buff和debuff)。
  15. kill()。
  16. texin()(要注意精灵的特性)。
  17. jinengxiaoguo()(实时计算技能效果,如能力的升降,buff和debuff)。
  18. houzhiwupinshiyong()(剩饭啊什么的)。
  19. houzhizhuangtai()(烧伤,中毒,剧毒的伤害,能力值升降)。
  20. texin()(要注意精灵的特性)。
  21. tianqi()(判断当前天气所造成的效果)。
  22. 暂时想到的就这么多,麻烦的是什么天气与技能之间的相互配合又该怎么互动…
  23. 物品又能增加什么技能的威力,果实在什么条件下发动…等等杂七杂八的影响,烦得要死。明天更新伤害倍率算法,算是比较难的吧。
  24. 换人什么的也用数组做吧。什么当前血量,属性都用数组来做…其实都可以用数组来做,但是这个只是单机的想法,如果搞成网页版就需要使用数据库了。

二、总结

也许我应该先做个简单的网页版?比如高级战争什么的简单很多的战棋游戏?口袋妖怪真是超出想象的复杂。

其实分块来做大概有几大块:

地图,行动,遇敌,路人战,事件触发,道具交互,精灵属性,升级,战斗,物品,技能,逃跑,交换,双打,三人战,换人,电脑存储,在地图上使用特技,菜单,个人资料,存档,联机,精灵电脑的操作…

现在看来,当时的我根本木有程序设计的套路,只是想到哪里做哪里罢了。这是程序开发时非常忌讳的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注