使用多态的游戏程序实例
使用多态的游戏程序实例:
游戏《魔法门之英雄无敌》 3 游戏中有很多种怪物,每种怪物都有一个类与之对应, 每个怪物就是一个对象。
游戏《魔法门之英雄无敌》:
怪物能够互相攻击,攻击敌人和 被攻击时都有相应的动作,动作 是通过对象的成员函数实现的。
游戏《魔法门之英雄无敌》 新增类:
CThunderBird 游戏版本升级时,要增加新的怪物--雷鸟。 如何编程才能使升级时的代码改动和增加量较小?
基本思路:
为每个怪物类编写 Attack、FightBack和 Hurted成员函数。
Attact函数表现攻击动作,攻击某个怪物,并调用被攻击怪物的 Hurted函数,以减少被攻击怪物的生命值,同时也调用被攻击怪物 的 FightBack成员函数,遭受被攻击怪物反击。
Hurted函数减少自身生命值,并表现受伤动作。
FightBack成员函数表现反击动作,并调用被反击对象的Hurted成 员函数,使被反击对象受伤。
设置基类 CCreature,并且使CDragon, CWolf等其他 类都从CCreature派生而来。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.