设计并实现一个机器宠物类MachinePets。每个机器宠物有如下信息:昵称(nickname)每个机器宠物有如下成员函数:带参数的构造函数MachinePets(conststrings),为机器宠物初始化昵称。纯虚函数stringtalk()为机器宠物派生类提供宠物叫声的统一接口。设计并实现电子宠物猫类PetCats,该类公有继承自MachinePets。每个电子宠物猫类有如下成员函数:带参数的构造函数PetCats(conststrings),为机器宠物猫初始化昵称。stringtalk(),返回电子宠物猫叫声。设计并实现电子宠物狗类PetDogs,该类公有继承自MachinePets。每个电子宠物狗类有如下成员函数:带参数的构造函数PetCats(conststrings),为机器宠物狗初始化昵称。stringtalk(),返回电子宠物狗叫声。
/*代码如下*/
/*拓展部分*/
我们可以尝试通过音频调用的函数,以文件名作为参数等方法,来调用音频文件,使得宠物可以发出猫猫狗狗的叫声
这里给出一段参考性的代码
展示一下运行的结果⑧
/*运行截图*/
/*简单的说明*/
补足程序后大概就是这么玩的。
1、创建角色,选择职业(这里暂时只实现了swordsman的代码,所以暂时只能选swordsman)
2、默认你的对手是什么;
3、展示你和你对手的状态,包括血量和魔法值(本题用了容器写了一个背包,里面放置你拥有的治疗药水和魔法药水)
4、战斗,你可以选择普攻,特殊攻击(有概率被闪避)或者使用药水来恢复自己,对手也一样,这是一个回合。进攻成功可以获得经验然后升级。
5、直至一方死亡,若你死亡,就gameover,如果对手死亡,你可以获得他背包中剩下的物品,然后迎接下一位对手。
6、重复以上步骤。
/*自己的一些想法*/
1、再写一个金币加进去,每次击败对手可以获得金币,并且设置药水在商店中的价格,每次开局前可以购买药水。
2、加入金币的原因,战斗过程中如果对手用完了药水,那么面对第二个对手失败的可能性很大,有了金币可以增强持续战斗能力。
3、可以自由选择对手职业,不总是默认的。
4、......
/*再说一点⑧*/
弓箭手和法师还没有实现,我要先写作业啦,没办法,我太菜了,得笨鸟先飞。