BlacJack游戏中需要补充的知识点2

现在接着上篇的,写一来标识vector 的元素的对象迭代器iterator:

还是通过具体代码举例:

下面我讲了一个我暑期团队的故事哦~~:

 1 #include<iostream>
 2 #include<vector>
 3 using namespace std;
 4 int main()
 5 {
 6     vector<string> myteam;
 7     myteam.push_back("Kai She");
 8     myteam.push_back("Cai Baobao");
 9     myteam.push_back("This is me");
10
11     vector<string>::iterator myIte;  //迭代器iterator的引用方法
12     vector<string>::const_iterator ite; // 常量迭代器,不能引用它来更改它所引用的元素,但是它本身可以更改
13
14     cout <<" Your teams are:\n";
15     for (ite = myteam.begin(); ite != myteam.end(); ++ite)//遍历容器
16         cout << "\t " << *ite << endl;
17
18     cout <<" Because Kai She goes to work, Chen Baobao student comes:\n";
19     myIte = myteam.begin();//更改元素的值,,,此处表示更改第一个元素的值
20     *myIte = "Chen Baobao";//队长走了,换成了另一个队友~~
21     cout << "\n Now ,your teams are:\n";
22     for ( ite = myteam.begin(); ite != myteam.end(); ++ite)
23             cout << *ite << endl;
24
25     cout <<"\n The teams name ‘ " << *myIte << " ‘ has "
26          <<(*myIte).size() << " letters in it.\n";//这个方法不大好
27      cout << "\n The teams name ‘ " << *myIte << " ‘ has "
28            << myIte->size() << " letters in it\n";//第二种方法
29
30      cout << "You find a member join in your team\n" ;
31      myteam.insert(myteam.begin(),  " Xing Baobao");//添加新的成员,直接加入了一个新成员
32
33       cout << " Because you are not excellent enough , you were pop" << endl;
34       myteam.erase(myteam.begin() + 2);//我被我的团队踢出去了~~~哈哈
35
36      cout <<"\n Your teams :\n";
37      for (ite = myteam.begin(); ite != myteam.end(); ++ite)
38         cout << *ite << endl;
39
40
41
42 }

可以顺便看一下运行结果就可以很清楚的理解iterator的用法了~~

具体例子我写的是自己的队员,通过string对象的myIte 的迭代器:用来标识vector中的一个特定元素的值它是vector中引用一种元素的方法;

在遍历容器时:end()成员函数返回容器中最后一个元素之后的迭代器(不是最后一个元素),所以,不能从end()返回的迭代器中获取值。

在删除一个一个元素时用erase,如果要从在内删除的话,可以在begin()后面直接加数字就行:例如要删除第3个元素:

myteam.erase(myteam.begin() + 2);

所以vector以及iterator的基本用法先写这么点了~~~

时间: 2024-10-13 19:37:38

BlacJack游戏中需要补充的知识点2的相关文章

BlacJack游戏中需要补充的知识点

在写BlackJackGame的时候,考虑到要用到容器,所以就对容器的相关知识强化了一下: 首先是好搜百科中的:http://www.haosou.com/link?url=http%3A%2F%2Fbaike.haosou.com%2Fdoc%2F1405630-1485920.html&q=vector&ts=1440739945&t=175e59b2eeeb87eaa517f7856b05d92&src=haosou 这次主要用到是vector在C++中的用法

漫谈游戏中的人工智能

写在前面   今天我们来谈一下游戏中的人工智能.当然,内容可能不仅仅限于游戏人工智能,还会扩展一些其他的话题. 游戏中的人工智能,其实还是算是游戏开发中有点挑战性的模块,说简单点呢,是状态机,说复杂点呢,是可以帮你打开新世界大门的一把钥匙.有时候看到知乎上一些可能还是前公司同事的同学的一些话,感觉还是挺哭笑不得的,比如这篇:http://zhi.hu/qu1h,吹捧机器学习这种玄学,对游戏开发嗤之以鼻.我只能说,技术不到家.Vision不够,这些想通过换工作可培养不来. 这篇文章其实我挺早就想写

游戏中的三角学——Sprite Kit 和 Swift 教程(2)

原文链接 : Trigonometry for Games – Sprite Kit and Swift Tutorial: Part 2/2 原文作者 : Nick Lockwood 译文出自 : 开发技术前线 www.devtf.cn 译者 : kmyhy 游戏编程中的三角学! 2015年4月20日 更新:更新到 Xcode 6.3 和 Swift 1.2. 更新说明:这是我们广受欢迎的教程之一的第三个版本--第一个版本是 Cocos2D 的,由 Matthijs Hollemans 缩写,

[Unity]制作游戏中名字板的过程记录(未完成)

先大概说一下需求: 1 每个模型上都要有名字板:人.怪.npc等等. 2 名字板上会显示:名字(文字).血条(图片)等 3 因为是透视相机,名字板离得太近会变得超大,且主角移动,名字板的位置相对于相机来说是一直变化的,因此有Update一直在计算名字板的大小以及朝向Camera 刚开始接到需求用的是UGUI+NGUI实现的,每个名字板占用4.5个batches(1种字体+3个图集).但当游戏中怪物多了,10个怪就有差不多50个batches,以后会有更多同屏需求,因为需要改进. 尝试使用Supe

popup的简单应用举例(具体在增删改查组件中用到)以及补充的知识点

popup的简单应用举例(具体在增删改查组件中用到)以及补充的知识点 一.首先说一下自执行函数 1. 立即执行函数是什么?也就是匿名函数 立即执行函数就是 声明一个匿名函数 马上调用这个匿名函数 2.popup的举例 点击,弹出一个新的窗口.保存完事,页面不刷新数据就返回了.(点击admin的+,弹出的框就是用popup来做的) 具体操作步骤: 1.urls.py urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^index/',

Dota 游戏中的攻击与伤害分析

摘要:在上一篇文章中分析了物理攻击和护甲的攻防分析,但是忽略了英雄对战里面一个很重要的角色--技能攻击.实际上,除了少数后期英雄可以直接靠平砍(即物理攻击)杀人外,大部分英雄尤其是智力英雄还是要靠技能收割人头的.技能的使用也是评价一个玩家水平高低的主要指标.在本文中,我们就技能进行分析. 关键字:技能攻击 魔抗 护甲 伤害类型 攻击类型 Dota中的攻击类型共有普通攻击.穿刺攻击.攻城攻击.混乱攻击.英雄攻击和法术攻击6种.除了法术攻击,其他的统称为物理攻击.然而我们只考虑英雄的话,只有英雄攻击

全屏游戏中自动切出到桌面的问题解决(二)

关于全屏游戏,类似英雄联盟等,游戏中,自动切到桌面的问题,之前发布过一个解决过的问题.今天又碰到一个类似的问题,当然还是用前端进程工具查找一下什么进程引起的游戏切出.经过观察为update.exe这个进程导致.那么下面就需要查找这个文件的来源了.通过查找路径,发现此文件随机性特别强,任意变换目录,而且通过软件也看不出其父进程.如图:    那么只有借助其他软件了.打开 ProcessExplorer,观察所有进程,发现有UPDATE,但是也无法观察到父进程.那么结束掉这个进程,并且使用顺网小哥的

全屏游戏中自动切出到桌面的问题解决

近期遇到一个客户全屏游戏中,自动切出游戏到桌面的问题,于是到现场解决.     打开游戏<英雄联盟>测试,并开启前端进程监测软件监测.一段时间过后,游戏切出,发现一个名称为"DeskTopHelper.exe"的进程.如图: 好吧,那么看一看这个进程是哪个软件带的吧.打开PROCESS EXPLORER,查看一下,如图: 通过进程关系,并进一步查找文件目录得知,这个进程是"95网吧大师的进程".那么得知是哪个软件导致的,解决办法就不用再说了吧. 附上工具

游戏中的音效

1. 游戏中的即时音效: 在游戏中,根据情况播放的即时音效较为短暂.可以重复.也可以同时播放.由于Android中提供的MediaPlayer会占用大量的系统资源,而且播放时还会进行缓冲,有较大的延时,因此使用MediaPlayer无法实现即时音效的播放.而在Android中专门提供的SoundPool类主要用于管理和播放应用程序中的声音资源,使用该类时首先需要通过该类将声音资源加载到内存中,然后在需要的即时音效的地方播放即可,几乎没有延时现象.[由于SoundPool设计的初衷是用于无延时地播