RPG多人回合制战斗框架设计《二:战斗角色设计》

RPG战斗框架包含以下四部分的内容:

一、基本战斗流程

二、战斗角色设计

三、战斗伤害计算

四、技能设计

五、BUFF设计

六、战斗AI

二、战斗角色设计

战斗角色的内容包括如下:

1、属性

2、操作

3、流程控制

1、战斗角色属性

warrior.py

# -*- coding: utf-8-*-

from war_def import *


class CWarriorProp(object):
    """
    战斗角色属性类
    """
    m_hp = 0
    m_hp_max = 0
    m_attack = 0
    m_defense = 0

    def __init__(self):
        self.m_base = {}

    def init_prop(self, prop_dic):
        self.__dict__.update(prop_dic)
        self.m_base.update(prop_dic)

    def get_hp(self):
        return self.m_HP

    def get_hp_max(self):
        return self.m_HPMax

    def get_attack(self):
        return self.m_attack

    def get_defense(self):
        return self.m_defense

    def add_apply(self, key, value):
        av = getattr(self, key, None)
        if av:
            setattr(self, key, av + value)
        else:
            setattr(self, key, value)

    def remove_apply(self, key, value):
        setattr(self, key, getattr(self, key) - value)

战斗角色类warrior.py

CWarrior继承CWarriorProp


class CWarrior(CWarriorProp):
    def __init__(self):
        self.m_war = None  # 战斗对象
        self.m_action = WARACT_FINISH
        self.m_command = None  # 当前回合的操作
        # self.m_buff_slots = buff.CBuffSlots()  # buff槽
        # self.m_war_hook = {}  # 存放被动技能的时机
        super(CWarrior, self).__init__()

    def set_command(self, ctype, *args):
        if ctype == WARCMD_ATTACK:
            pass
        elif ctype == WARCMD_PERFORM:
            pass
        elif ctype == WARCMD_DEFEND:
            pass

    def ready(self, warobj):
        pass

    def bout(self):
        self.m_command = None

    def pre_fight(self):
        pass

    def leave(self):
        pass

    def is_died(self):
        return self.m_hp <= 0

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值