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

2023-10-27

具体实现思路:

CTalk类继承窗口基类,里面封装了updata()和onRander()方法,里面包含了结构体SArrTalk*  m_pArrTalk,用来存对话数据。

CTalk类控制对话的进行,以及数据的渲染。而对话的内容则存在相应的文件之中,如NPC的对话存在NPC的配置表之中,哪个类需要对话,就让这个类包含CTalk类的对象,由此完成对话。

CTalk类的代码:

头文件

#pragma once
struct SArrTalk
{
	SArrTalk()
	{
		memset(arrTalk, 0, sizeof(arrTalk));
	}
	char arrTalk[10][128];
};
class CTalk:public CWndBase
{
public:
	//void initTalk(SArrTalk* pArrTalk, int nTalkLines);
	void updata();
	void onRander();
	void setTalkLines(int nTalkLines);
	SArrTalk* getArrTalk(){ return m_pArrTalk; };
	CTalk();
	~CTalk();
	GETTER_SETTER(bool, IsTalked, m_bIsTalked);
private:
	int m_nIndex;//当前对话索引
	int m_nTalkLines;//对话条数
	SArrTalk* m_pArrTalk;
};

源文件:

#include "stdafx.h"
#include "Talk.h"


CTalk::CTalk()
{
	m_nIndex = 0;
	m_bIsTa
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++控制台RPG游戏:对话系统 的相关文章

  • 游戏开发unity杂项知识系列:PC限制同个游戏程序只能运行一个

    unity出PC包很多时候要限制包的运行数量 实现一台电脑只能运行一个包只需要在出包的时候将Player Settings gt Resolution and Presentation 中的Force Single Instance 勾上就
  • 盘点:2012中国互联网大会十大亮点

    9月11日 14日 2012中国互联网大会在北京国际会议中心隆重举行 针对移动互联网 电子商务 云计算 物联网 网络视频 网络营销 网络宁静 垃圾信息治理 创业等领域 16场论坛先后上演 166位国内外嘉宾做精彩演讲 吸引265家媒体深度报
  • 【2022版】Java多线程与高并发面试题总结,108道题含答案解析。

    前言 最近面试的小伙伴很多 对此我整理了一份Java面试题手册 基础知识 JavaOOP Java集合 泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射 Java序列化 Java注解 多线程 并发 JVM Mys
  • set要点

    set分为set和multisets 前者元素不能重复 后者允许 set通常是以平衡二叉树完成的 由于set和map十分类似 所以本文篇幅较短 主要聚焦于一些set比较特殊的部分 set特点 由于二叉树搜索元素时的良好性能 其搜索函数算法具
  • esp32CAM环境安装教程---串口驱动安装

    前言 1 本人安装好arduino 的ESP32环境之后 发现一直下载不进去程序 一直说Cannot configure port something went wrong Original message PermissionError
  • pytorch实现style transfer

    说是实现 其实并不是我自己实现的 亮出代码 https github com yunjey pytorch tutorial tree master tutorials 03 advanced neural style transfer c
  • 【计算机网络】实验报告二:Wireshark实验

    Wireshark实验 实验准备 1 数据链路层 1 实作一 熟悉 Ethernet 帧结构 2 实作二 了解子网内 外通信时的 MAC 地址 3 实作三 掌握 ARP 解析过程 2 网络层 1 实作一 熟悉 IP 包结构 2 实作二 IP
  • 尚硅谷-宋红康-MySQL高级性能篇

    尚硅谷 宋红康 MySQL高级性能篇 第1章 Linux下MySQL的安装与使用 1 安装前说明 1 1 Linux系统及工具准备 二级目录 三级目录 第1章 Linux下MySQL的安装与使用 1 安装前说明 1 1 Linux系统及工具
  • 华为Atlas开发环境(ATC环境)搭建

    此博文主要用于指导在非昇腾AI设备上安装开发环境 用于代码开发及ATC模型转换等功能 以下所有操作建议在root用户下进行 可以省去很多麻烦 1 准备软件包 若开发环境为x86 64架构 而运行环境为aarch64架构 则开发环境上需要同时
  • cv2.error: Unknown C++ exception from OpenCV code

    超链接 深度学习工作常用方法汇总 矩阵维度变化 图片 视频等操作 包含 torch numpy opencv等 原因 ndarray经过切片后 会出现内存不连续的情况 当不连续时 保存就会报错 解决办法 frame np ascontigu
  • 在子工程中禁用的父工程的 maven 插件

    以 mybatis generator maven plugin 插件为例 在父工程中添加了 mybatis generator maven plugin 插件 想要在子工程禁用 则在对应子工程 pom 中添加 如下内容
  • App数据抓取(抓包工具使用)

    文章目录 fiddler使用 移动端 mitmproxy mitmdump 基础实战 使用Python抓取数据 小结 fiddler使用 基础篇介绍了如何设置fiddler做代理 这里继续介绍使用方法 在file中可以选择开始 停止抓包 可
  • 在安装project2010 64位时提示 “无法安装64位office,因为已有32位版本”解决方法...

    1 点击电脑左下角开始按钮 选择运行 或者window R快捷键 输入命名 regedit 2 弹出注册表编辑器窗口 选择HKEY CLASSES ROOT 打开子选项 3 然后找到Installer文件夹 展开文件列表 文件太大的话直接在
  • 87键键盘insert键使用方法

    87键党一枚 对于计算机工作者而言 104键键盘太鸡肋了 有很多键基本用不到 布局比较反人类 对于想要盲打全键的程序员 文字工作者而言 要按下控制键 得转动手腕甚至转动手肘 严重降低效率 87键实现了所有常用键的布局 可以盲打所有按键 对于
  • 马上看懂各种内聚类型(逻辑内聚、过程内聚、顺序内聚)

    各种内聚模式 内聚概念 内聚其实是一个模块内部各成分之间相关联程度的度量 用来表示说 你这个模块里面各个元素之间关系好不好 是不是每天勾肩搭背 还是冷眼相对或者是偶尔打个招呼 内聚类型 这里用 元素 来统一表达一个模块中各种操作 部分等说法
  • 定时任务-quartz的使用,实现可页面化管理

    定时任务 quartz的使用 实现可页面化管理 使用spring quartz实现定时任务的页面化管理 主要特点 1 时间表达式等信息配置在数据库中 从而实现页面化管理 2 可以手动执行或者停止单个任务 也可以使一个任务加入或者移出自动运行
  • unity 渲染流水线

    渲染流水线 主要分为应用阶段 几何阶段 光栅化阶段 应用阶段 这一阶段最重要的输出是渲染所需的几何信息 即渲染图元 几何阶段 重要任务就是把顶点坐标变换到屏幕空间 通过对输入的渲染图元进行多次处理后 输出屏幕空间的二维顶点坐标 每个顶点对应
  • 《大话数据结构》第六章树

    1 定义 之前我们一直在谈的是一对一的线性结构 可现实中 还有很多一对多的情况需要处理 所以我们需要研究这种一对多的数据结构 树 考虑它的各种特性 来解决我们在编程中碰到的相关问题 树 Tree 是n n 0 个结点的有限集 n 0时称为空
  • R语言中的函数18:readxl::read_excel(), read_xls(),read_xlsx()

    文章目录 read excel read xls 和read xlsx 函数介绍 实例 实例1利用read xls读取文件 实例2指定读取数据的范围range 实例3读取有缺失值的数据 实例4read xls和read xlsx需要对应的文

随机推荐

  • vue nextTick深入理解-vue性能优化、DOM更新时机、事件循环机制

    一 定义 nextTick 事件循环 nextTick的由来 由于VUE的数据驱动视图更新 是异步的 即修改数据的当下 视图不会立刻更新 而是等同一事件循环中的所有数据变化完成之后 再统一进行视图更新 nextTick的触发时机 在同一事件
  • 什么?计算机居然不能精确计算0.1+0.2?

    小云今年大三在一家互联网公司实习 今天下班回到寝室闷闷不乐 小帅见状关心到 怎么了 碰到什么不开心的事了吗 小云叹了口气 今天我写的程序中涉及到小数计算 出了个bug 被测试的人笑了 说我居然0 1 02都不会算 小帅忍不住笑了 0 1 0
  • Java之JVM方法区、永久代、元空间、常量池简介说明

    转自 Java之JVM方法区 永久代 元空间 常量池简介说明 下文笔者讲述jvm中方法区 永久代 元空间 常量池的简介说明 如下所示 JVM内存模型简介 jvm堆是所有线程共享的 主要用来存储对象 堆 年轻代和老年代两块区域 使用NewRa
  • 安时积分法计算soc程序_BMS(电池管理系统)第四课——核心!!!SOC算法开发...

    SOC基本定义 Qmax 电池最大允许充放电容量 可理解为额定容量 SOH Ieff 充放电电流或自放电电流 充电为负 充放电的库伦效率 目前行业算法方案列表如下 其中安时积分 开路电压 人工神经网络 卡尔曼滤波四中方案通用性比较高 重点介
  • 【论文解读-未完成】-A Survey of Transformers-【一篇论文了解整个Transformers王国】

    论文链接 https arxiv org abs 2106 04554 论文时间 202106 论文单位 复旦大学 论文长度 40页 论文目录 A Survey of Transformers Transformers的文献综述 1 INT
  • 自动化测试框架总结

    自动化测试框架流程图 自动化测试框架模块 配置文件读取模块 日志模块 测试数据读取模块 测试执行模块 测试结果更新模块 异常处理模块 屏幕截图模块 自动化框架模块功能说明 配置文件读取模块 模块的主要功能是把测试项目的公共配置读取到脚本里
  • 智能家居_串口通信编程

    模拟串口 我要使用串口开发 那么 安卓系统必须要Root 让我有超级权限 串口就是文件 首先要打开串口文件 我们没有实体开发主板 使用虚拟串口驱动来代替实体开发主板 模拟android主板上的2个串口 模拟 开发板 插入了电脑 电脑就会显示
  • 2020东南大学网络空间安全保研夏令营(预推免)经验

    2020东南大学网安院保研夏令营 预推免 经验 前言 个人情况 本科某双非双一流CS专业 GPA 1 230 国家级省级奖项各有四五项 校级奖项若干 奖学金若干 项目只有一个大创 无论文 东大网安院说来话长 本来是不想报的 然鹅计算机学院的
  • mavne install 报错org.apache.maven.surefire.util.SurefireReflectionException: java.lang.reflect.Invoca...

    maven install 报错 org apache maven surefire util SurefireReflectionException java lang reflect InvocationTargetException
  • java校验文件路径正则表达式_正则表达式判断是否是合法路径

    在页面前端使用一个文本框 输入条件是 c test 在java中File判断是可以通过的 可以创建的 File file new File filePath if file exists file mkdir 说明是一个合法的路径 但是在w
  • 哈师大计算机学院宿舍,新生攻略

    原标题 新生攻略 哈师大所有的 秘密 都在这了 你好 我是哈师大17级的新生 我想全面的了解一下咱们学校 应该去哪了解呀 这你可算是问对人了 听说最近哈尔滨师范大学学生会的官方微信平台出了非常全的新生攻略呢 快关注它们的公众号 hsdxsh
  • Linux系列

    测试代码如下 是一个输出 Tinywan字符串与循环轮数的死循环程序 每输出一行就休眠1秒 原始输出 前台执行该程序运行效果 程序每隔一秒会在终端输出一个字符串 此时如果键入 Ctrl C 程序会收到一个 SIGINT信号 如果不做特殊处理
  • APT 攻击溯源方法

    概述 当今世界正值百年未有之大变局 网络空间成为继陆 海 空 天之后的第五大疆域 安全威胁也随之延伸至网络空间 没有网络安全就没有国家安全 在新时代网络空间安全已经上升至国家安全的高度 高级持续性威胁 Advanced Persistent
  • #PCIE# PCIE基础知识篇(3)

    写在前面 本文章转载自老狼知乎 感谢分享 随着AMD新一代CPU的发布 PCIe 4 0 Gen4 也进入了人们的视线 然而Intel随后宣传PCIe 4 0对消费市场用处不大 AMD则反讽Intel吃不到葡萄说葡萄酸 正在吃瓜群众搬板凳看
  • could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the n

    如果你在创建自定义网络时 docker network create driver bridge my net出现下面的提示 Error response from daemon could not find an available no
  • 【Vue3项目】登录注册--双Token机制

    目录 前言 什么是双Token机制 双Token的实现流程 前言 最近同项目的伙伴告诉我们一个 新词汇 双Token登录机制 emmmmm 确实没了解过 据说是在实现token长期有效的同时 防止token被第三方盗用 提高用户信息的安全性
  • ReactNative系列之十三WebStorm的JSX语法配置及自动补全设置

    1 开发ReactNative常用工具 WebStorm Sublime Atom 2 配置WebStorm的ReactNative语法 a 下载 git clone https github com virtoolswebplayer R
  • ES 搜索20 (function_score 和 field_value_factor 自定义评分)

    自定义评分 设想有个网站供用户发布博客并且可以让他们为自己喜欢的博客点赞 我们希望将更受欢迎的博客放在搜索结果列表中相对较上的位置 同时全文搜索的评分仍然作为相关度的主要排序依据 可以简单的通过存储每个博客的点赞数来实现它 在搜索时 可以将
  • DHCP协议及其实验(eNSP)

    目录 一 DHCP 1 1 DHCP作用 1 2 DHCP地址池 1 3 DHCP报文类型 1 4 DHCP工作原理 对DHCP工作原理的思考 1 5 DHCP租期更新 1 6 DHCP重绑定 1 7 IP地址释放 二 DHCP实验 2 1
  • C++控制台RPG游戏:对话系统

    具体实现思路 CTalk类继承窗口基类 里面封装了updata 和onRander 方法 里面包含了结构体SArrTalk m pArrTalk 用来存对话数据 CTalk类控制对话的进行 以及数据的渲染 而对话的内容则存在相应的文件之中