自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 C++控制台RPG游戏:对话系统

CTalk类控制对话的进行,以及数据的渲染。而对话的内容则存在相应的文件之中,如NPC的对话存在NPC的配置表之中,哪个类需要对话,就让这个类包含CTalk类的对象,由此完成对话。此外:因为存放对话内容的二维数组在作为参数传递时非常麻烦(C++只允许返回值为一个值,不允许返回二维数组),所以用一个结构体存放对话的内容,CTalk类里面包含了这个结构体的对象。因为任务有两段对话——接任务时的对话,提交任务时的对话,所以在CMission中声明了两个CTalk的成员。

2024-08-13 19:40:03 441

原创 C++控制台RPG游戏具体实现思路: 任务系统

装备和任务系统是否可以都继承某个窗口类,所以玩家里面应该包含装备管理者、技能管理者、任务管理者的成员去进行管理),当按下某个建的时候,gameMgr对任务进行数据更新和渲染。杀怪任务和购买物品可以写成同一种任务:判断玩家背包中是否有足够的相对应的物品(红药水数量、杀某种怪掉落的物品数量),从而判断任务是否完成。所以任务类的任务是否完成可以封装成一个函数,通过传入需要完成任务的物品ID和需要的数量,来判断是否完成。任务数据应该具有是否开启的属性,满足条件开启任务,否则不开启,NPC里面只显示开启的任务。

2024-08-13 19:38:51 547

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除