当前位置: 首页 > news >正文

网站弄论坛形式怎么做建设银行苏州网站

网站弄论坛形式怎么做,建设银行苏州网站,网站 预算,检察院做网站的目的运行在VS2022#xff0c;x86#xff0c;Debug下。 31. 中介者模式 中介者模式允许对象之间通过一个中介者对象进行交互#xff0c;而不是直接相互引用。可以减少对象之间的直接耦合#xff0c;同时集中化管理复杂的交互。应用#xff1a;如在游戏开发中#xff0c;可以使…运行在VS2022x86Debug下。 31. 中介者模式 中介者模式允许对象之间通过一个中介者对象进行交互而不是直接相互引用。可以减少对象之间的直接耦合同时集中化管理复杂的交互。应用如在游戏开发中可以使用中介者模式来管理游戏对象之间的碰撞检测。这意味着当一个游戏对象需要检测与其他对象的碰撞时它不需要直接与其他所有游戏对象进行交互而是通过中介者来进行交互。实现 同事接口定义中介者对象用来调用中介者的接口。具体同事类。中介者接口定义让同事类操作的接口。具体中介者定义所有同事类对象负责同事类对象之间的交互。 代码如下。 class GameMediator;//同事类游戏对象类 class GameObject { protected:GameMediator* gameMediator;string objectName;public:GameObject(GameMediator* mediator,const string name): gameMediator(mediator), objectName(name){}string getName() const { return objectName; }virtual void HandleCollision(GameObject* other) 0; //处理碰撞 };//中介者游戏中介类 class GameMediator { public:virtual void notify(const string event, void* data) 0; //事件通知 };//具体同事类玩家类 class Player : public GameObject { public:Player(GameMediator* mediator, const string name) : GameObject(mediator,name) {}void jump() {cout getName() is jumping! endl;gameMediator-notify(collision, this); //由中介者调用碰撞检测函数}void HandleCollision(GameObject* other){cout getName() took damage and collided with other-getName() endl;} };//具体同事类障碍物类 class Obstacle : public GameObject { public:Obstacle(GameMediator* mediator, const string name) : GameObject(mediator, name) {}void movement(){cout getName() is moving! endl;gameMediator-notify(collision, this); //由中介者调用碰撞检测函数}void HandleCollision(GameObject* other){cout getName() collided with other-getName() endl;} };// 具体中介者: 游戏引擎类 class GameEngine : public GameMediator { public:void notify(const string event, void* data) //根据事件通知相关的子系统{if (event collision) {CheckCollision(static_castGameObject*(data));}//...}void setGameObjects(const vectorGameObject* objects) { gameObjects objects;}private:vectorGameObject* gameObjects;void CheckCollision(GameObject* source) const{//检测与所有游戏对象之间的碰撞for (auto target : gameObjects) {if (source ! target){//如果发生碰撞,由游戏对象调用处理碰撞函数source-HandleCollision(target);}}} };int main() {//创建中介者GameEngine GEmediator;//创建各游戏对象Player player(GEmediator, Player);Obstacle Crates(GEmediator, Crates);Obstacle Trees(GEmediator,Trees);Obstacle Cars(GEmediator, Cars);//中介者管理所有游戏对象, 负责所有游戏对象之间的交互GEmediator.setGameObjects({ player, Crates, Trees, Cars });//游戏对象移动player.jump();Cars.movement();return 0; }
http://www.hkea.cn/news/14351854/

相关文章:

  • 建设校园标准信息服务网站论文东营房产信息网58同城
  • 交流网站模版婚纱网站有哪些
  • 重庆自助模板建站行业网站策划
  • 网站风格有哪些淮北建网站费用
  • 做名片网站短期网站建设培训班
  • 莱州网站建设政法队伍建设网站主要内容
  • 网站建设宣传视频2022麻豆区区区三区四区
  • 安仁做网站东莞长安网站优化公司
  • 收费图片网站不买服务器做网站
  • 建立网站要钱吗企业做网站系统
  • 惠州品牌网站建设价格品牌网图片新闻2003年下一条文章
  • 怎样用自己的主机做网站wordpress调用用户头像
  • 苏州做网站设计的公司网站建设比较好的
  • 网站快照查询sem专员
  • 邵阳优秀网站建设线在科技成都网站推广公司
  • 网站设计制作报告平面设计专业学校排名
  • server 2008 iis 部署网站地方门户源码
  • 为什么公司网站打不开环球新军事最新消息
  • 六安市裕安区建设局网站下载wordpress 4.8.1
  • seo需要会网站建设吗网站开发效率
  • 邯郸网站建设行情免费的拓客平台有哪些
  • 上海网站制作网络推广方法培训网站建设多少钱
  • 代刷网站推广快速软件开发工程师任职要求
  • 网站建设欧美做网站没资源
  • 做外围网站犯法吗网站建设孝感
  • 网站的性能需求比价网站源码
  • 哪些网站是用php做的湘潭网站建设优化技术
  • 公司网站建设佛山哪家专业潜江做网站的
  • 百度没有投放的网站点击摄影网站的意义
  • 学网站开发前景网站备案通过后