
C++RPG游戏
qq_41791653
这个作者很懒,什么都没留下…
展开
-
C++控制台RPG游戏:对话系统
具体实现思路:CTalk类继承窗口基类,里面封装了updata()和onRander()方法,里面包含了结构体SArrTalk* m_pArrTalk,用来存对话数据。CTalk类控制对话的进行,以及数据的渲染。而对话的内容则存在相应的文件之中,如NPC的对话存在NPC的配置表之中,哪个类需要对话,就让这个类包含CTalk类的对象,由此完成对话。CTalk类的代码:头文件#...原创 2018-09-01 16:01:07 · 3344 阅读 · 0 评论 -
C++控制台RPG游戏具体实现思路: 任务系统
接受任务,提交任务,显示任务玩家里面应该有一个容器,用来存放已接收的任务,任务NPC里面也应该有一个容器,用来存放开启的任务接受任务:1.不同NPC对应不同任务:任务数据里面应该对应包含NPCID属性。由此实现不同npc对应不同任务(同商店)2.NPC里面有开启的任务,和没开启的任务:任务数据应该具有是否开启的属性,满足条件开启任务,否则不开启,NPC里面只显示开启的任...原创 2018-09-01 15:29:50 · 2429 阅读 · 0 评论 -
C++RPG控制台游戏,用窗口基类管理各个窗口
GameMgr中定义窗口基类指针。通过更该窗口基类的指针指向(更改为:菜单、地图、商店等窗口)实现窗口之间的转换问题:GameMgr是否不再直接管理菜单、地图、商店。是否还要定义其成员变量。倘或不再直接管理,如何在一个窗口中,拿到另一个窗口数据?窗口管理为何不好:一、GameMgr不再对map等场景进行直接管理,而是在管理其父类CWndBase:GameMgr不再对map等场景...原创 2018-08-24 14:34:56 · 1518 阅读 · 0 评论 -
控制台RPG游戏具体实现思路:背包功能
一、背包的渲染以及数据更新:同商店一样,更改游戏状态即进入背包界面。(地图、背包、商店、以及尚未实现的战斗场景均独立)。背包的渲染与控制背包的选择与商店相同,都是控制容器的索引。这里不再赘述二:从商店购买商品进入背包。因为商品中陈列的商品,均不需要对它进行任何功能上的操作(只是陈列数据而已,无法加攻击力等功能)。所以商品里的商品均不是物品的实体,而背包中物品却不仅仅是数据。因此...原创 2018-08-21 16:48:23 · 2501 阅读 · 1 评论 -
C++控制台RPG游戏具体实现思路:装备栏功能
一、装备物品时,人物属性要进行相应的更改:player类里面写一个playerAttributeToInit()函数,用于将玩家当前属性置为没有穿戴任何装备时的属性,每次进行装备更新时,调用物品里面的usitem()函数,进行玩家属性的相应更改。具体实现如下:equipment类:if (KEY_DOWN(VK_RETURN)) { wearEquiepment(m_vecEq...原创 2018-08-21 16:46:37 · 2228 阅读 · 0 评论 -
控制台RPG游戏具体实现思路:商店功能
商店功能一、进入商店:当条件满足时,游戏状态改为E_GAMESTATE_SHOP,将玩家坐标还原(否则,玩家坐标与商店坐标重合,将一直重复进入商店)。处理逻辑写在地图的碰撞中,关键代码: //玩家碰到NPC vector<CNpc*>vecNpcs = npcMgr->getNpcs(); for (int i = 0; i < vecNpcs.size(...原创 2018-08-20 20:32:57 · 1366 阅读 · 0 评论