魔法门之英雄无敌22 solmyr 哪里

已被0人收藏
&Solmyr 的小品文系列之一:字符串放在哪里?
来自:保密
发帖:20+721
画外音:今天是个大晴天,温暖的阳光透过窗子照进了这间宽敞的办公室,办公室里三三两两的人们正在各自的计算机前努力工作,一切都显得那么的安静、祥和、有条不紊 ……
“啊~!救命啊!Solmyr 你又用文件夹砸我!”
“愚蠢者是应该受到惩罚的。”
画外音: …… 呃,好吧,我得承认有点小小的例外。这里是一家软件公司,发出惨叫的这位是 zero ,新进的大学生;这边一脸优雅,看上去很有修养一点也不象刚刚砸过人的这位,是 Solmyr ,资深程序员,负责 zero 这一批新人的培训。啊,故事开始了 ……
“我干了什么啦?”zero 揉着鼻子问道,“这次你拿来砸我的文件夹又大了一号!”
“你过来自己看看你犯下的错误。”Solmyr 翻出了 zero 刚刚交上来的一段代码:
char* msg = “Connectting ... Please wait“
if( Status == S_CONNECTED )
??strcpy(msg, “Connectted“);
“我犯了什么错误啦?这是一个很平凡的字符串声明而已”,zero 不满的说到。
“你看不出来吗?connect 这个单词的进行时和过去时你都拼错了,多打了一个 t”,Solmyr 不紧不慢地回答。
“就为了这个你又用文件夹砸我 …… 啊!这次又是光盘盒!”
“这是商用软件,你以为是在 QQ 上和 PPMM 聊天,有错别字不要紧啊?更糟糕的是,我故意留了这么长的时间给你,到现在你还没发现你真正的错误在什么地方。你可真不是一般的菜啊~”,Solmyr 故意拖了个长音,满意的看到 zero 处于爆发的边缘,“好吧,让我们从基础开始,C 语言中是怎样处理字符串的?”
“这个我知道”,zero 显得很有自信,“C/C++ 语言中,字符串是一段连续的字符型内存单元,每个单元存放一个字符,并用 \0 作为结尾的标记。”
“那么使用指针之前,我们应当 ……”
“我们应当保证这个指针指向合法的内存,要么指向一块已经存在的内存,要么为它动态分配一块。”,zero 开始露出得意的笑容 —— 这种程度的问题,哈!
“好!那么你的代码中 msg 这个指针指向哪里?”
笑容凝固了。
“这个 …… 呃 …… 我想 …… 它应该指向一块合法内存,因为以前我这么做的时候,它能工作 ……”,zero 期期艾艾的说。
“合法内存?这块内存是谁分配的?它有多大?生存周期多长?有哪些特殊的性质?”
“唉!”,Solmyr 重重的叹了口气,“我就知道会这样。好吧,让我们先从简单的开始。”。Solmyr 飞快的键入了如下代码:
char msg[] = “Hello“;
char* pmsg = (char*)malloc( sizeof(“Hello“) );
strcpy(pmsg, “Hello“);
“上面这些代码你应该都很清楚了:msg 是一个字符数组,C 语言保证会为它分配一段连续的内存,并将其初始化为 “Hello“
。pmsg 是一个字符指针,我们调用了 malloc 函数为它动态分配了一块内存,并用 strcpy 函数填充其值为 “Hello“ 。这两种做法的共通点是:首先用正常手段获得一段内存,然后填充值。接着再来看这个:”
char* msg = “Hello“;
“这一句代表什么意思?首先 msg 是个指针,C/C++ 语言不负责为它分配一块内存;其次我们也没有显式的为它分配一块内存。它指向哪里?指向 “Hello“ ,就是你直接写在代码里的那一个。”
“什么叫做‘直接写在代码里的那一个’?”,zero 露出了困惑的表情
“举个例子你就明白了:”,Solmyr 再键入:
double db = 1.5;
“这一行里面,1.5 是个什么东西?它是一个 double 类型常量,C/C++ 语言要处理它们,也要分配内存来存放这些东西。同理,当你在代码里写了 “Hello“ ,实际上 C/C++ 语言就分配了一块内存存放这个字符串,当你写 char* msg = “Hello“ 的时候,你就是把这样一块内存的地址赋给了指针 msg 。所以 msg 确实指向一块合法内存,这是有时候这段代码能够工作的原因。但是这样做,其中蕴涵了许多问题,我来问你,指向这块内存的指针应该是什么类型?”
“当然是 char*”,zero 不加思索的回答。
“错!应该是 const char* 。想当然耳,写在程序中的字符串你不希望它发生变化,所以很明显的,这块内存应该被解释为常量。但是你在声明 msg 的时候做了什么?”
“呃 …… 我用了一个非常量的指针去指向了一个常量字符串。”,这一次,zero 明显的审慎多了。
“正确。看你原来的代码,你不仅用一个非常量指针指向它,而且还对这个指针执行了 strcpy ,往里写了内容。在我们的编译器上,这么做会引发什么后果?”
“呃 …… 引发一个运行时错误?”
“部分正确。准确的讲,只有在工程编译选项为调试版本的时候,如果工程编译选项为发布版本,一切都很正常 —— 奇怪吗?并不,记住这一点:C/C++ 允许你打破任何保护。所以如果这两行代码在调试的时候没有被发现而溜进了发布版本里”,说到这,Solmyr 狠狠的瞪了 zero 一眼,“将会是很难发现的。”
“可是说来说去这么做还是没有什么危害不是吗?msg 指向一块合法内存,内容正确,而且也并不是真的不能写入,有什么好担心的呢?”,zero 抱怨道。
Solmyr 顺手抓起杯子,zero 反射性的立刻缩头护脸。“别担心,我只是喝水而已。”,Solmyr 面无表情 —— 如果忽略他嘴角那一丝坏笑的话 —— 的说到,“没有危害是吗?看看下面的代码:”
char* str1 = “Hello“;
char* str2 = “Hello“;
*str1 = ‘P‘;
-------------------------------------------------------------------------------------------
Program is my incantation
Computer is my golem
Internet is my world of magic
...楼主...
来自:保密
发帖:4+3
妙!!!!!我以前也没注意这些细节问题!
-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......
来自:保密
发帖:174+908
TC2下不会出现这个问题,而TC3会,我想是不是因为编译器自动优化的原因呢?
-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......
来自:保密
发帖:37+182
zero确有其人??
-------------------------------------------------------------------------------------------
你真的快升天
我真的快升天
如果现在不吃以后没机会再吃
来自:保密
发帖:67+91
好像编译器有自动优化的开关,可以控制是否使用自动优化.
-------------------------------------------------------------------------------------------
手潮,新手 我有很多要请教诸位的.希望大家多多关照.
来自:保密
发帖:36+617
这么老的帖子又被翻上来了,Solmyr老大的小品文果然经典
其实这些东西是与编译器相关的,而C/C++里面都没有定义的,所以,具体的结果都取决于编译器。
-------------------------------------------------------------------------------------------
掌握自己命运的只有我自己!
来自:保密
发帖:174+908
哈哈!经过一段时间的学习,现在终于看懂了这遍文章了~
-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......
来自:保密
发帖:0+28
好像在csdn上看到类似的文章过,原来最初的出处是在pchome上啊
强~~~~~~~~~~~~
-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......
来自:保密
发帖:0+28
Solmyr好像是英雄无敌里的一个英雄吧... ...
-------------------------------------------------------------------------------------------
这个家伙很懒,什么也没留下......
首先,请你以一种,团成一个团的姿势,然后,慢慢地比较圆润的方式,离开这座让你讨厌的城市,或者讨厌的人的周围首先,请你以一种,团成一个团的姿势,然后,慢慢地比较圆润的方式,离开这座让你讨厌的城市,或者讨厌的人的周围
Solmyr 的小品文系列之一:字符串放在哪里?
最新二手发布
扫描关注官方微信
扫描下载客户端
你可以发私信给一个或多个听众。默认不能发给非听众,除非对方设置了允许。
奖励分值:您今日还有 3 点分值可以奖励 [ 20 点奖分可自动换取 1 点PP]
请输入4位有相同表情的数字
&违反国家法律&&&&&&&&&含有色情内容
&对他人进行恶意攻击
&散布广告以及其它商业化的宣传
&干扰或混乱kds宽带山网络服务
&发布任何包含种族、 性别、宗教歧视性和猥亵性的信息内容
&恶意刷屏&&&&&&&&&&&&&&&内容重复&&&&&&&&&&&&&&&攻击管理员
&本人要求删除&&&&&&&&当事人要求删除
&与主题无关&&&&&&&&&&&水贴软文&&&&&&&&&&&涉及敏感政治内容
&被要求删除,你懂的&&&&&&&&&&&盗号并发布违规或广告内容
扣除hp值:
宽带山警务室
&恶意刷屏&&&&&&&&&水贴软文
&违反国家法律
&含有色情内容
&对他人进行恶意攻击
&散布广告以及其它商业化的宣传
&干扰或混乱kds宽带山网络服务
&发布任何包含种族、 性别、宗教歧视性和猥亵性的信息内容
&网页不能打开
&图片不能显示
已报名参加的人员:solmyr_biti的贴吧solmyr主页
电源网牵头联合芯派实验室和是德科技联手为电源网网友提供的福利...
2017慕尼黑上海电子展在即,跟电源网一起去看展。...
2017年慕尼黑上海电子展,AOS万国半导体专题报道。...
牛逼1000帖
深圳麦格米特电气股份有限公司
宁波江北华瑞电子有限公司
最新技术探讨
阅读两个产品测评进行回帖讨论,每人两个奖品;
会议主题:福禄克热像现场案例及使用技术研讨
会议时间:
主讲嘉宾:
Fluke 技术1
报名人数:600人
晶川专家 陈战国
英飞凌专家宋清亮
会议主题:中国工程师巡回培训会-上海站
会议时间:
会议地点:上海铭德大酒店
报名人数:392
/people/83555
等级:连长
目前想用正激做一个恒流电源,计划采用正激的方案来做。要保持负载电流恒流效果更好的话,采样电阻应该放在副边输出电容之前(R1处)还是之后(R2处)呢?请各位老师指点。我自己感觉放在R2处似...
阅读 (1799) |
正激电路,输出电感10uH.输出电压3.2V,电流20A.
芯片放副边有专门电源供电,供电电路没画.
请用过384x芯片的老大们、斑斑们帮忙看看这个电路行否,384x芯片第一次用.
斜率补偿我取的比例是0.75...
阅读 (3248) |
暂无最新博文
暂无最新图片
关于电源网
我们的服务
服务时间:周一至周五9:00-18:00
免费技术研讨会
获取一手干货分享
电源网版权
增值电信业务经营许可证:津B2-
网博互动旗下网站:《魔法门英雄无敌3》
概况/《魔法门英雄无敌3》
魔法门英雄无敌是广大玩家极为喜爱的,前两代都受到了玩家的好评,尤其是黄金版更是令无数人百玩不厌,,废寝忘食,魂牵梦绕,欲罢不能。因此最近推出的魔法门英雄无敌3就倍受大家的关注和喜爱了。因为此游戏为一英文游戏,加之内容又较多,令很多新手玩起来颇感困难,于是小弟我经过搜集整理,编纂了这部指南,为大家扫清一切障碍。 魔法门英雄无敌3代与二代相比,确实有了很大的提高,首先是音乐做的十分出色, 由管弦乐团奏出的乐曲听起来雄雄壮苍劲,充实饱满,与宣泄的摇滚乐比起来,犹如田园诗般的动人。其采用MP3的格式储存音乐,既节约了空间,又保证了音乐的Hi-Fi质量,实在是体贴多数玩家(其实用会更加节约空间,而且音质十分出色,只可惜MIDI对声卡的要求较高,在大家惯用的大陆货声卡上的表现,实在让人难以接受。如果在高档波表声卡上,那表现绝对让你折服)。与音乐比起来,三代画面的提升就显得很局限了,因为2D画面的时代已经过去,画面已然成为PCGAME的主流,再依仗2D画面打天下已经不太可能了,尽管如此,由于细节处理的很得当,例如,升腾的浓烟,潺潺的流水,璀璨的珠宝,还是为游戏增色不少。游戏兵种设计比二代有很大的进步。一共有八个种族,比二代增加了3个全新的种族,与二代相同的种族也有了很大的改变。比如说凤凰族的竟然变成了金龙,人类的最高级兵种游侠竟然只是第四级兵种等等。
游戏建筑/《魔法门英雄无敌3》
首先来看看游戏中的。 村庄大厅(Village Hall) 每天收入500金 (Town Hall) 每天收入1000金 城市大厅(City Hall) 每天收入2000金 要塞(Fort) 增加城墙 魔法工会(Mage Guild) 提供魔法(1-5级) 市场(Marketplace) 交换各种资源 铁匠铺(Blacksmith) 生产战斗武器 船厂(Ship Yard) 生产船只 资源仓库(Resource Silo) 每天增加资源产量 酒馆(Tavern) 雇佣英雄,访问盗贼工会 首都(Capitol) 每天收入4000金,只能造一个 堡垒(Citadel) 增加主箭塔和护城河,各兵种每周增加50% 城堡(Castle) 增加两个副箭塔,各兵种每周增加100% 城堡城(Castle Town): 剑之兄弟会(Brotherhood of the Sword)为守城部队增加2点士气 狮鹫堡垒(Griffin ) 使狮鹫每周产量+3 灯塔(Lighthouse) 增加船的移动力 马房(Stable) 增加英雄的移动力 地下城(Dungeon Town): 战争学院(Academy of Battle Scholars) 为访问的英雄+1000经验 宝物交易所(Artifact Merchants) 交易宝物与资源 魔力旋涡(Mana Vortex) 使访问的英雄魔力加倍 召唤之门(Portal of Summoning) 每周一门内将随机出现你所占野外招募地的一种兵种供 你招募 蘑菇环(Mushroom Rings) 使穴居者每周产量+7 要塞城(Fortress Town): 血之方尖碑(Blood ) 为守城部队增加2点攻击 战神牢房(Cage of Warlords) 为访问的英雄增加1点防御 队长营房(Captain Quarters) 使狼头怪每周产量+6 恐怖雕像(Glyphs of Fear) 为守城部队增加2点防御 (Infero Town): 诞生池(Birthing Pool) 使小魔鬼每周产量+8 硫磺风暴云(Brimstone Stormclouds) 为守城部队增加2点法力 兽笼(Cages) 使地狱犬每周产量+3 (Castle Gate) 使英雄可通过它到其它建有城堡之门的城(该城无英雄的情况下) 火之序列(Order of Fire) 为访问的英雄增加1点法力 壁垒城(Rampart Town): 树妖幼苗(Dendroid Saplings) 使树妖每周产量+2 神秘池塘(Mystic Pond) 每周提供1-4个随机资源 幸运喷泉(Fountain of Fortune) 使守城部队幸运+2 矿工工会(Miner Guild) 使矮人每周产量+4 宝藏(Treasury) 每周使总金量+10% 堡垒城(Stronghold Town): 自由者工会(Freelancer Guild) 可用部队交换资源 逃跑暗道(Escape Tunnel) 允许守城的英雄逃跑或投降 英烈大厅(Hall of Valhalla) 为访问的英雄增加1点攻击 食堂(Mess Hall) 使妖怪每周产量+8 墓地城( Town): 黑暗之幕(Cover of Darkness) 当敌人通过时将被移开 巫术放大器(Necromancy Amplifier) 使你手下的的召魂术技能+10% 骷髅转换器(Skeleton Transformer) 将放入其中的兵种变成骷髅兵 地下墓穴( Graves) 使骷髅兵每周产量+6 塔楼城(Tower Town): 宝物交易所(Artifact Merchants) 交易宝物与资源 图书馆(Library) 为魔法工会每层增加一种魔法 (Lookout Tower) 扩大各城的视野 翅膀雕像(Sculptor Wings) 使石像鬼每周产量+4 知识之墙(Wall of Knowledge) 为访问的英雄增加1点知识 怎么样,建筑是不是比二代增加了不少。不管怎么说建筑仅仅是陪衬,真正唱主角的还要算兵种和英雄。三代的兵种之多,真令人兴奋。
兵种/《魔法门英雄无敌3》
&二代与三代兵种的比较: (1)像二代一样,仍为最强大的种族。除了龙的威力有所下降,综合实力有所加强,3级兵种章鱼,4级兵种蛇妖女都是远程攻击手,5级兵种牛头怪像2代中一样,攻击防守力都很出色。6级兵种是最大的改变,由移动缓慢的六头蛇怪变成移动迅速的飞狮,在加上强大无比的龙,这一种族兵种配合的天衣无缝。 (2)精灵族 最大的改变莫过于最高兵种凤凰变成了龙,。其他变化不大,少了士,多了个会飞的拿着剑、骑着马的精灵,虽然保持了精灵族快速的特点,但由于远程攻击手的减少,防御力较差的精灵族作战时往往伤亡累累,除了龙比凤凰厉害些。总体感觉精灵族比二代中差。 (3)人类,增加了会飞的狮鹫,还有强大的天使,保持了2级弓箭手升级后可攻击两次的特点,又增加可远程攻击的僧侣,在加上人类英雄攻防都比较出色,人类是3代中玩家可重点选择的兵种。 (4)恶魔族 这个族的兵种给我感觉一般,以陆战和飞行类兵种为主,战争初期只有一个很差的远程攻击的兵种,陆战兵种速度又不是很快,碰上远程攻击兵种多的敌人真是苦死了。只有最高级兵种有些特色,升级后叫做ARCH DEVIL,速度最快,移动时像2代中的TELEPORT法术,攻击时敌人不反击,但与其它最高级兵种比好像血比较短,只有250。
作战经验/《魔法门英雄无敌3》
1.学会次元门后,就要去学AIR MAGIC,并且是专家级,因为这样可以每天4次使用这个魔法,而且消耗魔法值很少. 2.学会回城魔法,那就要EARTH MAGIC,至少高级,这样可以在你的任何一个城之间活动.培养这样的英雄一个就够了它可以轻松而又有效的给主力补充兵员. 3.学会克隆魔法,一定要专家级的.非常的好用! 4.对于英雄来说,最重要的技能是:聪明,地系魔法,水系魔法,空气魔法,INTELLEGENCE,后勤,巫术,进攻,防御. 5.当电脑的部队很多时,如果你很有钱!又会专家级的回城,等电脑还差一天走到你的城的时候,!把你最好的兵种留在城里,出去杀吧,只要留7个最低级的兵种,分成7队,用CHAIN LIGHTING大肆屠杀!还是要S/L,以免敌人连续的出二次进攻.丢了魔法后,就RETREAT,再在城里招出来,继续...电脑只有傻傻的挨打,当你的 魔法还有50左右,最好不要再去打电脑了,在另一个城招出来,当然,这个城要离WELL很近才行.加了魔法之后,继续用TOWN PORTAL,回到战场,继续CHAIN LIGHTING,电脑就完蛋了。 6.选择Titan城和英雄Solmyr,先让Solmyr尽量拣钱,除了升级第一级部队外,城里可以先不进行建设。招出几个同族的英雄后把兵升级后交给Solmyr带领,迅速向敌人发动进攻。这样下来,通常在一至两周内就可以把附近的敌人扫荡了。 7.在战斗过程中有些怪物可能会要求加入你的部队,这时你应该视实际情况而定。如果你的战斗力较强但经验值不够,就应该追杀他们,但如果你的部队数量原本就不多,他们能主动加入的话,既可以增强你的实力,又使你能不费一兵一卒的达到目的,虽然会损失一点经验值,但总的来说还是值得的
建筑经验/《魔法门英雄无敌3》
较有效的建造顺序应当先造能招募前三种部队的建筑,然后建造魔,第一级中必须包括 Magic arrow(魔箭),这种魔法在游戏初期相当有用,然后升级这三个建筑。接下来可以有两种建造方法:攻击型和内政型。攻击型打法应继续建造能招募高级兵种的建筑,以发展军事力量为前期的主要目标。但这种打法的缺陷在于可能会造成资金短缺,因为兵种越高级所用的雇佣金也就越高。所以,一般采取这种打法的前提是你已拥有一到两个金矿或主城周围有超过四个以上的宝箱。内政型的建造方法则是以升级Citadel(要塞)为前期的主要目标,当要塞升到最高级时,你每天就能有四千两黄金入帐,同时要尽量采集矿产,以便能建造升级魔法行会,在部队较少、兵种较差的时候能拥有超强的魔法也可与对手进行周旋(智慧差的种族不要采用此法)。 因为这个游戏的自由度很大,玩法多种多样,玩家可以根据自己的喜好自由发挥,这里只把主要任务极其审理条件列出。
主要战役/《魔法门英雄无敌3》
&战役一:女王万岁 1)回到故乡 胜利条件:占领所有的城镇(包括地下城的城镇)。在这关里你的英雄最多只能修炼到6级,但是可以把4个最好的英雄带入下一关。 2)守护天使 胜利条件:占领所有的城镇和城堡,并击败敌人所有的英雄。这关的英雄等级最高可以达到12级,8个最好的英雄可以带入下一关。 3)狮鹫崖 胜利条件:找到并占领7座狮鹫塔。 战役二:地下城与魔鬼 1)魔鬼的计划 胜利条件:找到并杀死“金龙女王”(Gold Dragon Queen)。英雄的最高级别是12级,8个最好的英雄进入下一关。 2)冲破地面 胜利条件:占领所有的城镇和城堡,并打败所有敌人的英雄。英雄的最高级别是12级,8个最好的英雄进入下一关。 3)攻占Steadwick城堡 胜利条件:在3个月内攻占Steadwick城堡。 战役三:战乱 1)边界地带 胜利条件:抢占所有的矿藏。英雄的等级极限是12级,最好的8个英雄进入战役的最后一关。 2)淘金热 胜利条件:积累200,000黄金。英雄的等级极限是12级,最好的8个英雄进入战役的最后一关。 3)贪婪 胜利条件:占领所有的城镇并击败所有敌人的英雄。 战役四:解放 1)胜利条件:占领Steadwick城堡。 2)消灭恶魔 胜利条件:占领Kleesive城堡。 3)中立事件 胜利条件:占领所有敌人城堡并击败他们的英雄。 4)地道与穴居者 胜利条件:占领所有城堡和击败敌人的英雄。 战役五:国王万岁 狮鹫的心 胜利条件:在3个月内将受难的灵魂解救并带回2)收获的季节 胜利条件:在3个月内收集2500具敌人的骨骼(Skeleton)。 3)肉体的惩罚 胜利条件:击败名叫的死亡骑士。 4)日日夜夜 胜利条件:占领所有城镇并击败敌人的英雄。 战役六:为父歌唱 1)安全通道 胜利条件:Nimbus巫师必须带着“政治家之勋章”(Statesman's Medal)安全抵达 与其他7名最优秀的英雄可以进入下一关。 2)联合阵线 胜利条件:占领所有城镇并击败敌人的英雄。最好的6个英雄进入最后一关,并会受到与的接见。
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:5次
参与编辑人数:5位
最近更新时间: 10:47:06
申请可获得以下专属权利:
贡献光荣榜

我要回帖

更多关于 英雄无敌2黄金版中文 的文章

 

随机推荐