小森动画回忆录(二)-同步奥特曼属性到程序

news/2024/7/7 10:07:09 标签: 小森动画回忆录, 小森自研项目, C++

上篇说到了如何设计了数据 采用了啥方式

先干了再解释
同步奥特曼属性到程序-源码实现

//从文件加载迪迦奥特曼属性数据到程序中
void LoadUltramanMainAttribute(vector<DejaAltmanAttribute>& dejaAltmanAttribute){
   //打开迪迦奥特曼属性.txt文件读取     
   ifstream stream("迪迦奥特曼属性.txt", ios::in);
  //如果成功打开文件流     
   if (stream.is_open()) {
     //循环读取文件中的每个属性集    
     while (stream) {
       DejaAltmanAttribute de;  
       //读取属性类型 '复合型' 
       stream >> de.Type;
       int num = 0;    
       //再读取7个attribute pair 
       while ( stream && num < 7) {
         //构造pair        
         stream >> PairAttribute.first >> PairAttribute.second;        
         //加入到Attribute容器中    
         de.Attribute.emplace_back(forward<decltype(PairAttribute)>(PairAttribute)); 
          //统计已读属性数 
          num++;  
       }
       //读取完毕一个属性集后,加入到容器中 
       dejaAltmanAttribute.emplace_back(forward<decltype(de)>(de));
     }
   } 
}
一共有 4个这样的奥特曼属性 
`复合型
飞行速度 5马赫 
走行速度 1.5马赫 
水中速度 1.5马赫
地中速度 1.5马赫
跳跃力 800米
握力 5万吨
必杀技 哉佩利敖光线`

	while (stream) {文件流 读到的不是文件结束符
			num = 0; 把num 直0

			DejaAltmanAttribute de;创建DejaAltmanAttribute 结构体变量 de
			stream >> de.Type;读取掉复合型
 			文件流 读到的不是文件结束符 并且没有读到8个
			while (stream && num <7) {
				pair<string, string> PairAttribute;
				读取				飞行速度 		5马赫 
				stream >> PairAttribute.first >> PairAttribute.second;
				放入属性池里
				de.Attribute.emplace_back(forward<decltype(PairAttribute)>(PairAttribute));
				num++;统计提供有多少能读到

			}
			读取完毕后放入到dejaAltmanAttribute里
			dejaAltmanAttribute.emplace_back(forward<decltype(de)>(de));
		}

http://www.niftyadmin.cn/n/1583410.html

相关文章

使用nginx+uwsgi部署Django项目

一&#xff1a;安装nginx1&#xff1a;安装编译工具及库文件yum -y install make zlib zlib-devel gcc-c libtool openssl openssl-devel2&#xff1a;安装PCREwget https://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz tar zxvf pcre-8.35.tar.gz cd…

.NET(C#)有哪些主流的ORM框架,FreeSql,SqlSugar,Dapper,EF还是...

前言 在以前的一篇文章中&#xff0c;为大家分享了《什么是ORM&#xff1f;为什么用ORM&#xff1f;浅析ORM的使用及利弊》。那么&#xff0c;在目前的.NET(C#)的世界里&#xff0c;有哪些主流的ORM&#xff0c;FreeSql&#xff0c;SqlSugar&#xff0c;Dapper&#xff0c;Enti…

Django作为接口时跨域问题解决

一&#xff1a;安装django-cors-headerspip install django-cors-headers二&#xff1a;配置settings.py# Application definition INSTALLED_APPS [django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,…

2019年,你需要关注这些Node API和Web框架

对于Node.js框架和开源软件来说&#xff0c;2018年是非常有趣的一年。开发者社区讨论了企业赞助对开源项目的作用以及如何维护那些没有经济支持却有数百万人使用的项目。同样&#xff0c;安全问题也得到了极大关注&#xff0c;一些流行的Node/JS软件包被劫持&#xff0c;Github…

python使用Crypto库实现加密解密

一&#xff1a;crypto库安装pycrypto&#xff0c;pycryptodome是crypto第三方库&#xff0c;pycrypto已经停止更新三年了&#xff0c;所以不建议安装这个库&#xff1b;pycryptodome是pycrypto的延伸版本&#xff0c;用法和pycrypto 是一模一样的&#xff1b;所以只需要安装pyc…

Celery-------异步任务

Celery-------异步任务 1.什么是Celery?  Celery 是基于Python实现的模块, 用于执行异步定时周期任务的  其结构的组成是由   1.用户任务 app   2.管道 broker 用于存储任务 官方推荐 redis rabbitMQ / backend 用于存储任务执行结果的   3.员工 worker 2…

[转载]Linux中的网络接口及LO回环接口

转自&#xff1a;https://blog.csdn.net/weixin_39863747/article/details/80564358 Linux中的网络接口及LO回环接口 2018年06月04日 10:55:03 weixin_39863747 阅读数&#xff1a;10491、linux的网络接口之扫盲 (1)网络接口的命名 这里并不存在一定的命名规范&#xff0c;但网…

laravel 安装

一&#xff1a;laravel安装1&#xff1a;laravel最新版安装composer global require "laravel/installer" #使用Composer下载Laravel安装程序 laravel new XXX #创建一个laravel项目,XXX为项目名称2&#xff1a;laravel指定版本安装composer create-project laravel…