分享AS3.0_小游戏

代码直接贴出来了:)

希望给大家一些参考,课堂用到的。


var hero:Object = new Object();

var monster:Object = new Object();

//设置勇士的参数

hero.name="英雄";

hero.HP=10000;

hero.ATT=90;

hero.DEF=88;

hero.AGI=60;

hero.skill1="普通攻击";

hero.skill2="升龙拳";

hero.skill3="恶魔之魂";

//设置恶龙的参数

monster.name="恶龙";

monster.HP=10000;

monster.ATT=120;

monster.DEF=100;

monster.AGI=22;

monster.skill1="攻击";

monster.skill2="龙尾击";

monster.skill3="毁灭光线";

 

var timer:Timer = new Timer(1000);

timer.addEventListener(TimerEvent.TIMER,round);

timer.start();

 

function whoAttacks(a:Object,b:Object) {

 

return a.AGI * Math.random() > b.AGI * Math.random()?[a,b]:[b,a];

 

}

function round(e:TimerEvent):void {

//damage为破坏力

var damage:Number;

var skillIndex:uint;

var roundFight:Array=whoAttacks(hero,monster);

var attacker:Object=roundFight[0];

var defender:Object=roundFight[1];

//破坏力等于进攻方攻击力-防守方的防御力

damage = attacker.ATT*Math.random()-defender.DEF*Math.random();

if (damage<=0) {

//如果破坏力为<=0;

damage=0;

}

else{

damage=Math.ceil(damage);

}

defender.HP -= damage;

//判断武器类型

//当破坏力小于进攻方攻击3分1时

if (damage<attacker.ATT/3) {

skillIndex=1;

//当破坏力小于进攻方攻击3分2时

} else if (damage<attacker.ATT*2/3) {

skillIndex=2;

} else {

skillIndex=3;

}

trace(attacker.name+"向"+defender.name+"发动了"+attacker["skill"+skillIndex]+","+defender.name+"损失了"+damage+"点HP");

if (defender.HP<=0){

trace(defender.name+"终于支持不住了"+attacker.name+"取得了胜利");

timer.removeEventListener(TimerEvent.TIMER,round);

trace("Game Over!");

}

trace(hero.name+"HP:"+hero.HP+monster.name+"HP"+monster.HP);

}

一名开发者从做技工的父亲那里学到的5堂课

我的父亲是一名工程师——是机械工程师,不是软件工程师。在他成为机械工程师之前,他也做过技工和木工。他很聪明,同时在建筑和维修方面也很有天赋(只要不涉及到电气即可,不过那就是另外一回事了)。他甚至在60岁时依然能做围墙、工棚和甲板之类的工作。当我和我的兄弟还小的时候,他就开始让我们接触一些他工作用的工具,因此,当我们发现需要修复或制作一些东西时,我们有能力做好它。好吧,虽然他在我身上的教育几乎失败,但一路走来,我还是学到了很多重要的东西,而且,不管你信不信,这些我学到的东西,在我成为一名优秀的开发者和企业家的路上,让我受益良多。

下面就是我从他那里学到的知识。

第一课:三思而后行

砍柴是一个一次性的工作。只要树木被砍掉,它就不可能再保持原样。因此,很重要的一件事就是确保你每一次的删除操作是无误的。甚至即使你确定你的做法是正确的,也请你无论如何再做一次评估。重新检查你的评估,确保它正确无误,这样你就可以避免犯一些本可以规避掉的错误,付出的代价也要小的多。

开发产品也是同样的道理。如果事先不测量书架要占用的空间的大小,你怎能做出与之大小相适合的书架?如果事先不知道用户的需要,你又何必去开发一个无用的产品?这个道理已经提过很多次了,我在这里略过。但有个不被经常提及的事情是你的产品是一组功能的集合体,就像书架是一堆货架的集合体一样。每一个功能都应该被认真对待,细心评估,以确保它适用于受众人群。重要的是不仅仅在项目开始就收集反馈,在整个项目的开发阶段,我们都要重视反馈,而不是等到结束了,才想起还有一些不错的创意没有实现。 继续阅读

火狐3.6停止更新,或许即将告别XP平台

说到火狐,web开发人员肯定不会陌生他的强大插件功能

其firebug插件为开发提供了高效有利的保障.

3.6的火狐也是一个颇具争议的版本,其实也是支持插件最多的一个版本(我自己下载的插件测试就有500多个)

经过两年的常规更新,Mozilla宣布将在4月24日停止对Firefox 3.6的支持。如果不出现重大的安全或稳定性问题,本月初发布的Firefox 3.6.28就是最后一版Firefox 3.6。

Firefox 3.6用户自4月24日之后将不会再收到任何安全更新,因此官方建议大家下载最新的Firefox 11。

除了Firefox 3.6的停止更新,Mozilla还宣布,Firefox对系统的最低要求从Windows 2000升至Windows XP SP2。

Firefox是一款定制性极佳的浏览器。目前火狐在全球浏览器市场份额排行第三,前两位分别是IE浏览器与Chrome浏览器。

火狐浏览器11官方下载:http://www.firefox.com.cn/download/

一场由织梦cms植入后门引发的思考

今天起来看微博,都在讨论对于信息安全事故的一些探讨。

事件引发:dedecms内容管理系统被植入一句话后门,织梦官方否定了乌云对其cms的漏洞报告,并且偷偷的修复了漏洞;

本人不才,不是什么大牛,在这里和大家分享一下自己的思路和想法。

安全研究人员:@QzqZQZqz说:

看见最近圈里大家在说漏洞有偿无偿且和道德挂钩讨论,想起某朋友几年前在一安全大会说过咱和国外的安全研究人员没法比,老外衣食住无忧,安全研究挖个漏洞纯粹是兴趣爱好外加成就感,现在看老外的调调好像也没到衣食无忧的境界。安全漏洞是有绝对经济价值的,与道德无关,很多人就是无知。

对于这点,其实国内没办法和国外相提并论,国外提倡自由,很多东西,不是国内能匹敌。而且拿国外的安全人员和国内的比,也没有可比的意义。

对于技术来说,国内与国外完全是两个阶层:在这里打住(本人没有任何看不起国内安全研究人员的意思,还是那句话,清晰的目标很重要)。

在国外,更多的安全研究人员是注重漏洞发掘,而不是对漏洞拥有的一种炫耀。在国内,更多的hacker是对技术一种崇拜,真正做到淡泊名利,一心研究技术的人,可以说是很少。 继续阅读

Adobe发布Photoshop CS6测试版 增加3D特性

3月22日消息,据国外媒体报道,Adobe周三晚间发布了Photoshop CS6的免费测试版,增加了简单的3D特性,并可以改变图片的位置、颜色、质感、影子及光源等,并且能进行实时处理。另外,界面也经过了重新设计。

据悉,Photoshop CS6的预览版可在Adobe Labs网站上下载。该软件的OS X版本可供免费下载,大小为984MB。

2010年4月,Aodbe公司发布了Adobe Creative Suite5产品系列。据该公司称,即将到来的图片编辑应用程序版本的亮点包括新的内容感知补丁、极快的性能、一个黑暗背景的用户界面以及新的、重新设计的设计工具。界面一改原来浅灰色调而采用了更暗的色调,旨在让用户工作时可以专注于图形的处理。该软件将搭载新的Adobe Mercury Graphics Engine,大大提升了软件运作的性能,编辑工具能产生“即时效果”。

Adobe创意媒体解决方案产品副总裁温斯顿·亨德里克森(Winston Hendrickson)在一份声明中表示:“PhotoshopCS6的将是一个具有里程碑意义的版本,以惊人的速度和性能推动成像创新的界限。” 继续阅读