掌握了C++多态的特性,写英雄联盟的代码又可以少几行!

本文通过分析英雄联盟游戏的需求,探讨如何利用C++的多态性减少代码改动,降低游戏版本更新时的工作量。文章比较了非多态实现与多态实现的区别,强调了多态在游戏开发中的优势。
摘要由CSDN通过智能技术生成

01  LOL 英雄联盟游戏需求分析

下面我们用设计 LOL 英雄联盟游戏的英雄的例子,说明多态为什么可以在修改或增加功能的时候,可以较少的改动代码。

LOL 英雄联盟是 5v5 竞技游戏,游戏中有很多英雄,每种英雄都有一个「类」与之对应,每个英雄就是一个「对象」。

英雄之间能够互相攻击,攻击敌人和被攻击时都有相应的动作,动作是通过对象的成员函数实现的。

下面挑了五个英雄:

  ● 探险家 CEzreal

  ● 盖楼 CGaren

  ● 盲僧 CLeesin

  ● 无极剑圣 CYi

  ● 瑞兹 CRyze

基本思路:

1、为每个英雄类编写 Attack、FightBack 和 Hurted 成员函数:

  ● Attack 函数表示攻击动作;

  ● FightBack 函数表示反击动作;

  ● Hurted 函数表示减少自身生命值,并表现受伤动作。

  ● 设置基类CHero,每个英雄类都继承此基类

— —

 

02  非多态的实现方式

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值