继承、虚函数的应用模式:事件注册与调度机制

本文探讨如何使用C++的继承和虚函数实现一个基于事件注册和调度的机制,增强程序的可扩展性。通过一个《王者荣耀》游戏场景举例,解释在英雄技能改版或游戏模式变化时如何保持程序的灵活性。文章通过UML类图展示了Event、EventHandle、EventSource等类之间的关系,并给出具体实现示例,如exampleA和exampleB,以展示如何注册事件并响应。这种机制允许简单地增加事件类型和处理者,以适应游戏模式或技能数量的变化。
摘要由CSDN通过智能技术生成

基于事件注册、触发调用的机制实现具有可扩展的c++程序。

       在之前曾经看到过的一个程序,看到了这种基于事件注册,然后触发的机制,所以特别想细细的分析一下,然后总结一个demo,分享给需要学习虚函数、继承的同学。


       在介绍之前,想问一下大家,或者对c++有一点编写经验的同学,有没有感觉自己写的程序很low,很没有结构化,而且可拓展性有点差的感觉?下面开始介绍这种机制,非喜及喷,不吝赐教。


       情景再现:举一个不是特别恰当的例子,在玩《王者荣耀》这种游戏时,蔡文姬释放回血的技能,那么不管是友方英雄还是敌方英雄遇到这种情况,在技能范围内,一定对这个技能进行不同的反映。如果有一天,设计师对蔡文姬英雄进行改版,增加一个技能,那么程序该怎么做到可扩展性?如果在原有的5V5模式中,增加为6V6,那么程序该怎么做到可扩展性?下面这个方法是一个自我总结的模式。      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值