#includeusing namespace std;

class CRole//角色类:基类

{

public:

CRole();

CRole(char *name,int ATK,int DEF,int Lv,int EXP);//构造函数

~CRole(){};

public:

char *name;

int hp;

int ATK;

int DEF;

int Lv;

int EXP;

public:

void WpAttack();//武器攻击

void jump();//跳跃

};

CRole::CRole(char *name,int ATK,int DEF,int Lv,int EXP)

{

this->name = name;

this->hp = 100;

this->ATK = ATK;

this->DEF = DEF;

this->Lv = Lv;

this->EXP = EXP;

}

class CHero: public CRole//英雄类

{

public :

CHero(){};

CHero(char *name,int ATK,int DEF,int Lv,int EXP):CRole(name,ATK,DEF,Lv,EXP){};//构造函数

~CHero(){};

public:

void Kicking();//踢腿技能

void Wrestling();//抱摔技能

public:

int k_ATK;//踢腿技能攻击力

int w_ATK;//抱摔技能攻击力

};

void CHero::Kicking()//使用踢腿技能时,初始化踢腿技能攻击力

{

k_ATK = 30;

}

void CHero::Wrestling()//使用抱摔技能时,初始化抱摔技能攻击力

{

w_ATK = 20;

}

class CEnemy:public CRole//敌人类

{

public :

CEnemy(){};

CEnemy(char *name,int ATK,int DEF,int Lv,int EXP):CRole(name,ATK,DEF,Lv,EXP){};//构造函数

~CEnemy(){};

public:

void zp();//劈掌技能

void lht();//连环踢技能

public:

int z_ATK;//劈掌技能攻击力

int l_ATK;//连环踢技能攻击力

};

void CEnemy::zp()//使用劈掌技能时,初始化劈掌技能攻击力

{

z_ATK = 20;

}

void CEnemy::lht()//使用连环踢技能时,初始化连环踢技能攻击力

{

l_ATK = 30;

}

class CBattle//战斗类

{

public :

CBattle();//构造函数

~CBattle(){};

public:

void attacMode(CHero R1,CEnemy R2);//战斗函数

public:

int i;

int temp;

};

CBattle::CBattle()

{

i = 1;

temp = 0;

}

void CBattle::attacMode(CHero R1,CEnemy R2)

{

srand((unsigned)time(0));//生成随机种子

while(R1.hp>0&&R2.hp>0)//当英雄和敌人HP都大于0时继续战斗

{

temp = rand()%3;//生成0-2随机数

if(i%2!=0)//当i为奇数时英雄进行攻击

{

if(temp==0)//当随机数生成0时,英雄进行普通攻击

{

int harm = R1.ATK-R2.DEF;

R2.hp -= harm;

cout<

}

if(temp==1)//当随机数生成1时,英雄使用踢腿技能

{

R1.Kicking();

int harm = R1.ATK+R1.k_ATK-R2.DEF;

R2.hp -= harm;

cout<

}

if(temp==2)//当随机数生成2时,英雄使用抱摔技能

{

R1.Wrestling();

int harm = R1.ATK+R1.w_ATK-R2.DEF;

R2.hp -= harm;

cout<

}

}

if(i%2==0)//当i为偶数时敌人进行攻击

{

if(temp==0)//当随机数生成0时,英雄进行普通攻击

{

int harm = R2.ATK-R1.DEF;

R1.hp -= harm;

cout<

}

if(temp==1)//当随机数生成1时,敌人使用劈掌技能

{

R2.zp();

int harm = R2.ATK+R2.z_ATK-R1.DEF;

R1.hp -= harm;

cout<

}

if(temp==2)//当随机数生成2时,敌人使用连环踢技能

{

R2.lht();

int harm = R2.ATK+R2.l_ATK-R1.DEF;

R1.hp -= harm;

cout<

}

}

i++;

}

i = 0;

if(R1.hp<=0)

{

cout<

R2.EXP +=100;

if(R2.EXP>=100)

{

R2.Lv++;

cout<

}

cout<

}

if(R2.hp<=0)

{

cout<

R1.EXP +=100;

if(R1.EXP>=100)

{

R1.Lv++;

cout<

}

cout<

}

}

int main()

{

CHero yx("英雄",5,2,1,0);

CEnemy dr("敌人",4,2,1,0);

CBattle battle;

battle.attacMode(yx,dr);

}

格斗游戏c语言代码,C/C++知识点之设计并编写代码自动格斗类游戏相关推荐

  1. 设计并编写代码自动格斗类游戏

    题目描述: 1)角色类CRole为基类: 构造函数.析构函数: 成员变量:头像.HP(血量).ATK(攻击力).DEF(防御力).Lv(等级),EXP(经验值): 成员函数:武器攻击.跳跃. 2)英雄 ...

  2. python编写格斗游戏_设计并编写代码自动格斗类游戏

    题目描述: 1)角色类CRole为基类: 构造函数.析构函数: 成员变量:头像.HP(血量).ATK(攻击力).DEF(防御力).Lv(等级),EXP(经验值): 成员函数:武器攻击.跳跃. 2)英雄 ...

  3. 单片机音乐播放器课程设计C语言,单片机音乐播放器课程设计中音乐代码怎么弄...

    单片机音乐播放器课程设计中音乐代码怎么弄 答案:2  信息版本:手机版 解决时间 2019-10-06 13:16 已解决 2019-10-06 02:07 单片机音乐播放器课程设计中音乐代码怎么弄 ...

  4. App Store游戏付费榜前三,推荐一款Cocos Creator制作的文字类游戏

    不靠怒刷,不喜宣传,这款基于Cocos Creator制作的文字类游戏「荒野求生」就这样默默无闻地一跃而上,取得了App Store游戏榜前十的好成绩.而且上周还一举挤入游戏付费榜第三.文字类游戏排行 ...

  5. python代码编辑教程_python教程:pycharm编写代码的方式教学

    python可以说是新的编程语言,虽说是新编程,但一出来,就受到很长程序员的关注,而且刚出现和java进行对比,很多人就拿python和java进行比较,想python到底好不好,他和java有什么区 ...

  6. 生存类html5小游戏,紧张绝望!刺激爽爆!盘点最好玩的PC生存类游戏(中)

    生存类游戏是很多PC玩家喜爱的游戏类型.生存类游戏的背景常常会设定在一个危机四伏的末日环境中,玩家需要从一无所有开始,克服种种困难,收集资源,制作各种道具物品,从而在险恶的环境下生存下去.这类游戏通常 ...

  7. python编写格斗游戏_设计并编写代码自动格斗类游戏。

    1) 角色类CRole为基类: 构造函数.析构函数: 成员变量:头像.HP(血量).ATK(攻击力).DEF(防御力).Lv(等级),EXP(经验值): 成员函数:武器攻击.跳跃. 2)英雄类CHer ...

  8. 算24游戏c语言程序报告,c程序课程设计报告(24点游戏).doc

    c程序课程设计报告(24点游戏) 课程设计报告 课程名称: C语言程序设计 课题名称: 二十四点速算王游戏 专 业: 通信工程专业 班 级: 12级通信工程1班 学 号: 2012167144 姓 名 ...

  9. Verilog HDL语言实现的单周期CPU设计(全部代码及其注释)

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

最新文章

  1. Windows PowerShell下基础操作
  2. Pygame介绍以及下载
  3. layui 上传图片校验
  4. Qt Creator和Visual Studio双环境开发技能攻略
  5. LeetCode题解-3-Longest Substring Without Repeating Characters
  6. 学习linux中踩的坑,踩踩Linux命令中的那些坑
  7. java ftpclient quit_一步一步android(6):关于FtpClient类的学习
  8. 新版USBCAN卡CAN分析仪的CANCANFD综合测试分析软件LKMaster主要功能介绍
  9. php通讯hpsocket,HP-Socket 远程通信 服务端 客户端 源码
  10. centos8安装nginx
  11. uni-app小程序 真机显示canvas上利用base64图片生成的海报
  12. java虚无世界_我的世界1.7.10工业虚无整合包
  13. 蓝牙初学者要知道的几件事
  14. Springboot 注解类里面public @interface xxx 什么意思
  15. 【Git】版本控制管理(第二版) 前言 第一章 第二章
  16. 经济观察评论:现在是筑底时期, 对复苏仍可以保持乐观!]
  17. 单目标跟踪算法调研(2019)
  18. RTL8370N 8口千兆交换机 PCB图纸方案资料 和芯片的datasheet
  19. k8s集群管理(一)
  20. java mysql 自动提交_详解MySQL与Spring的自动提交(autocommit)

热门文章

  1. 美国新的州隐私和安全法律解释:你的企业准备好了吗?(二)
  2. 【报告分享】2020年中国食品冷链供应链研究报告-阿里研究院(附下载)
  3. x64/x86-64/AMD64/ml64入门解惑
  4. excel制作柏拉图步骤
  5. 迁移系统激活已有的正版windows11专业版及office家庭学生版步骤
  6. 用Adobe Acrobat将Visio图转EPS图片
  7. 钱诚10.26黄金原油独家操作建议指导;日内黄金白银趋势解析
  8. tensorflow 取出中间变量
  9. LSP“浏览器劫持概念
  10. 【报告分享】中国移动游戏市场年度综合分析2021-易观智库(附下载)