手把手教你做宏Part2

实例

1.简单宏

对特定目标释放技能
#showtooltip
/cast [@目标名,exists] []技能名
此宏会对特定目标释放所定的技能,目标不存在的话就直接释放技能
如果没有同名的那么系统会选择一个”某种程度上比较相近”的人
同时也可以写player,raid#之类的,详见第一部分
例:

#showtooltip
/cast [@哀木涕,exists][]生命绽放

喊话宏
/频道 喊话内容
在指定频道喊话
频道可以是:
s(说)y(喊)1(综合)2(交易)3(本地防务)4(组队)p(小队)ra(团队)bg(战场)e(表情)
例:

/1 FL10人便当1-3缺1T,9=1来的带装等成就MMM

变形宏
#showtooltip
/cast !变形技能
可以在人形态释放来变形,也可以在变形状态下重新变形来解减速等等
例:

#showtooltip
/cast !熊形态

简单的循环
#showtooltip
/castsequence reset=条件1/条件2 技能1,技能2,技能3
依次释放技能,技能名之间用”,”间隔
条件可以是
#(秒数)target(切换目标)combat(进入战斗)shift/alt/ctrl(按下shifit/alt/ctrl)

#showtooltip
/castsequence reset=6/combat 痛击,横扫,挫志咆哮,横扫

继续阅读 »

手把手教你做宏Part1

玩wow也有很长一段时间了,一直没有对宏有多少了解,最近在nga看到一贴,觉得不错就整理了下转了过来。
NGA德区:http://t.cn/StMGsy

常用的宏命令

1.常用的宏命令

释放技能命令:

/cast              //释放一个或多个技能,可以加入一些条件判断,是最常用的命令
/castsequence      //依次释放释放数个技能,同样可以加入一些条件判断,常见于所谓的"无脑宏"
/use               //使用一个物品,可以直接用物品名称也可以用物品栏位置

动作命令:

/cancelform        //取消变形
/cancelaura        //取消状态或增益
/startattack       //开始攻击,一般写不写差别不大,释放技能会自动开始攻击的
/stopattack        //停止攻击,与startattack相反,用于防止破除控制等功能,也不大会用到
/target            //切换目标,用到的也不多,抓贼宏会用到,更多时候需要的反而是不切换
/targetenemy       //^目标的情况下对特定目标释放技能
/mount             //召唤坐骑
/dismount          //解散坐骑

语言表情命令:

/1 /2 /3 /4        //在不同的频道里面说话,1综合,2交易,3本地防务,4寻求组队
/s /y /p /ra /bg   //在不同的范围说话,s说,y喊,p小队,ra团队,bg战场
/e                 //做出一串表情,同时也可以/+内置表情

特殊命令:

#showtooltip       //显示技能描述,可以指定技能名或是缺省,让你的界面更有可读性
/focus             //指定某个目标为焦点目标
/clearfocus        //清除焦点目标
/stopmacro         //停止宏,可加入条件判断
/console           //控制命令,抓贼宏会用到
/script            //^

2.常用的条件判断

目标条件判断

help noharm        //目标为友方
harm nohelp        //目标为敌方
exists             //目标存在
dead nodead        //目标死亡|存活

继续阅读 »

重构代码的7个阶段

你曾去想重构一个很老的模块,但是你只看了一眼你就恶心极了。文档,奇怪的函数和类的命名,等等,整个模块就像一个带着脚镣的衣衫褴褛的人,虽然能走,但是其已经让人感到很不舒服。面对这种情况,真正的程序员会是不会认输的,他们会接受挑战认真分析,那怕重写也在所不惜。最终那个模块会被他们重构,就像以前和大家介绍过的那些令人销魂的编程方式中的屠宰式编程一样。下面是重构代码的几个阶段,文章来自:The 7 stages of refactoring,下面的翻译只是意译。

第一阶段 - 绝望

在你开始去查看你想要重构的模块的,你会觉得好像很简单,这里需要改一个类,那里需要改两到三个函数,重写几个函数,看上去没什么大不了的,一两天就搞定了。于是你着手开始重构,然后当你调整重构了一些代码,比如改了一些命名,修理了一些逻辑,渐渐地,你会发现这个怪物原来体型这么大,你会看到与代码不符甚至含糊不清的注释,完全摸不着头脑的数据结构,还有一些看似不需要方法被调了几次,你还会发现无法搞清一个函数调用链上的逻辑。你感到这个事可能一周都搞不定,你开始绝望了。

第二阶段 – 找最简单的做

你承认你要重构的这个模块就是一个可怕的怪物,不是一两下就可以搞定的,于是你开始着干一些简单的事,比如重新命名一下几个函数,移除一些代码的阻碍,产生几个常量来消除magic number,等等,你知道这样做至少不会让代码变得更糟糕。
继续阅读 »

多些时间能少写些代码

最近在做一项目的时候碰到很一个很大问题,程序应该怎样设计我想了好久,到现在其实也没啥头绪,在G+上面看到这个文章就转了哈!!

我在我的微博上说过这样一段话,我想在这里把我的这个观点阐述地更完整一些。

@左耳朵耗子:聪明的程序员使用50%-70%的时间用来思考,尝试和权衡各种设计和实现,而用30% – 50%的时间是在忙碌着编码,调试和测试。聪明的老板也会让团队这样做。而傻逼的老板,苦逼的程序员会拿出来100%-150%的时间来忙着赶进度,返工,重构,fix 大量的bug… 所以, 越差的团队一般会越忙,而且还忙不完。

在现在这个浮躁的时期,再加上敏捷咨询师们念的歪经,他们让人感觉上就像是软件产品是可以在很短的时间内高质量的完成的,这令那些管理者们很兴奋,就像巴甫洛夫的条件反射实验中的狗看到了肉就会流口水那样兴奋。他们使用TDD,快速迭代,不断重构,持续集成直至持续部署的方法在进行软件开发。

软件开发真是这样的吗?难道不需要花时间去思考吗?对此,有些观点在Todd的《“品质在于构建过程”吗?》以及《Bob大叔和Jim Coplien对TDD的论战》中谈到过了。我只想想表达下面的观点:

  • 软件的精髓在于设计,设计是一件很费大脑的事件。对于软件来说,设计没有完美的,它总是一件需要取舍需要权衡的事,比如:时间换空间,空间换时间,TCP或UDP,同步还是异步,数据冗余还不冗余等等。那怕是一个小小的observers模式是pull方式还是push方式 都需要仔细讨论。这些的东西需要时间和做前期尝试。
  • TDD快速原型和迭代可能会对软件和团队产生负面影响。在一开始,你需要花很大的精力来让你的软件从无到有(做过软件的人都知道,从零开始写代码是很痛苦的事),但是因为你没有想好,先做再说,所以,后期你会面临更多的质量问题而让你需要花更多的时间精力。当然,那些咨询师会让你用持续集成和持续部署这样的方法。但我想告诉你,这并不解决你软件设计的缺陷。举个例子——TDD、迭代、原型只关注功能性需求,其不会关注非功能性需求,比如性能问题,高可用性问题,系统维护问题(模块的耦合问题),等等。而这些问题往往都可以让你的软件设计重新来过。
  • 重构是恶梦,重构应该越少越好。当你维护一个复杂的系统时你会知道重构是一件多么恐怖的事情(参看《重构代码的7个阶段》)。如果一开始没有想好,你要面临的不单单是re-design, re-architect,还要面对时间和人力成本的增加,最难的是你还要面对的是团队士气因为不断的rework而逐渐低落并产生厌倦和懈怠情绪。

 

所以,如果你能有多一些时间去和客户讨论一下需求和未来可能的变化,去调查一下实现的技术难点和细节,去和其他有经验的人讨论并推敲一下架构和设计,去思考设计上的缺陷,那么,你的coding会变得非常地直,直到你一眼就看到尽头,你的测试案例也会写得非常地好,你会几乎不需要重构,于是,你会在未来少写很多代码,从而你的软件开发会越来越轻松,直到技术开始换代。

我现在在做的项目,花了几乎4个月的时间来做设计,在这个过程中,我们反复思考、讨论和权衡若干种实现方法,并尽可能地穷举所有的场景和细节以及未来可能的变化(那怕是那些简单的模块),有个模块被重写了至少三次,每次都是写到一半就被推翻重写,我们整个团队不断地在和其它团队讨论,并在对系统不断地认识中对系统进行简化和优化,并力求达到完美。现在看来,没有贸然使用Scrum是明智的。

这就好像我们修路造桥一样,我们需要花大量的时间勘测地形地质,分析数据,思考可能出现的各种问题(各种自然灾害),评估不同的设计方案,而不是先尽快建好再说。

所以,多一些时间,不是让你多做几次迭代,多完成几个模块,而是可以让你少写一些代码,更快的交付一个更好的产品
继续阅读 »

史上最著名的10个思想实验

思想实验是一种精神上的观念或假想,通常和谜语相似,是哲学家和科学家用以了解什么是大众思想的一种简单方法。他们的运用在如哲学和理论物理(理论物理无需做实验)等抽象领域是最为广泛的。他们像是为思想准备的一份大餐,最终给出复杂的答案。即使思想实验本身也会有无法理解的时候,这并不奇怪。下面是10个著名的思想实验,还有他们所要表达的哲学、科学和伦理意义。

10.电车难题(The Trolley Problem)
“电车难题”是伦理学领域最为知名的思想实验之一,其内容大致是:一个疯子把五个无辜的人绑在电车轨道上。一辆失控的电车朝他们驶来,并且片刻后就要碾压到他们。幸运的是,你可以拉一个拉杆,让电车开到另一条轨道上。但是还有一个问题,那个疯子在那另一条轨道上也绑了一个人。考虑以上状况,你应该拉拉杆吗?

解读:
电车难题最早是由哲学家Philippa Foot提出的,用来批判伦理哲学中的主要理论,特别是功利主义。功利主义提出的观点是,大部分道德决策都是根据“为最多的人提供最大的利益”的原则做出的。从一个功利主义者的观点来看,明显的选择应该是拉拉杆,拯救五个人只杀死一个人。但是功利主义的批判者认为,一旦拉了拉杆,你就成为一个不道德行为的同谋——你要为另一条轨道上单独的一个人的死负部分责任。然而,其他人认为,你身处这种状况下就要求你要有所作为,你的不作为将会是同等的不道德。总之,不存在完全的道德行为,这就是重点所在。许多哲学家都用电车难题作为例子来表示现实生活中的状况经常强迫一个人违背他自己的道德准则,并且还存在着没有完全道德做法的情况。
继续阅读 »

在FlashDevelop中使用svn1.7

FlashDevelop使用兩個SVN工具:
- SlikSVN command line client (version 1.6 included in FD/Tools),
- TortoiseSVN for the GUIs (actually 32bits or 64bits compatible).
當SVN升級到1.7以後,操作就會有所限制,這就必須把SlikSVN也升級到1.7才可以正常使用

下載:SlikSVN

Tumblr hosts

本来一直在玩tumblr这个微博客,可惜呀后来被封了。被封的网站应该都可以使用定位hosts来使用,可ip时不时就会被封失效。
下面是在g+上找到的新的ip

#tumblr
184.173.74.9 	www.tumblr.com
184.173.74.9 	assets.tumblr.com
184.173.74.9 	safe.tumblr.com
184.173.74.9 	safariextensions.tumblr.com
184.173.74.9 	tumblr.com

无觅相关文章插件,快速提升流量