第一个ActionScript3.0语言的文字小游戏【古惑仔之人在江湖】
2011-07-22 21:11
399 查看
/*第一个ActionScript3.0语言的文字小游戏【古惑仔之人在江湖】
author:KKK
date:2010-07-22
function:【古惑仔之人在江湖】人在江湖漂,哪能不挨刀,话说陈浩南投入洪兴大佬B门下之后,忠心效主。
洪兴另一揸Fit人靓坤,将大佬B谋害,遂于陈浩南结怨,一场生死之战拉开。
战至最后,今日不是你死就是我亡
*/
var hero:Object = new Object();
var boss:Object = new Object();
hero.name = "@陈浩南@";
hero.HP = 100; //生命值
hero.ATT =90; //攻击力
hero.DEF = 88; //防御力
hero.AGI = 60; //敏捷度
hero.skill1 = "拳头";
hero.skill2 = "铁链";
hero.skill3 = "钢管";
boss.name = "#靓坤#";
boss.HP = 120; //生命值
boss.ATT =92; //攻击力
boss.DEF = 90; //防御力
boss.AGI = 22; //敏捷度
boss.skill1 = "飞脚";
boss.skill2 = "小刀";
boss.skill3 = "砍刀";
var timer:Timer = new Timer(1000);
//1000毫秒间隔发送事件
timer.addEventListener(TimerEvent.TIMER, round);
//监听事件
timer.start();
function whoAttacks(a:Object, b:Object):Array{
return a.AGI*Math.random() > b.AGI*Math.random()? [a,b]:[b,a];
}
function round(e:TimerEvent):void{
var damage:Number;
var skillIndex:uint;
var roundFight:Array = whoAttacks(hero, boss);
var attacker:Object = roundFight[0];
var defender:Object = roundFight[1];
damage = attacker.ATT * Math.random() - defender.DEF * Math.random();
if (damage <= 0){
damage = 0;
}else{
damage = Math.ceil(damage);
//伤害值取整
}
defender.HP -= damage ;
if(damage < attacker.ATT /3){ //按照伤害值来选定攻击方式
skillIndex = 1;
}else if(damage < attacker.ATT*2 /3){
skillIndex = 2;
}else{
skillIndex = 3;
}
trace(attacker.name + "向" + defender.name + "使出了" +
attacker["skill"+skillIndex] + "," + defender.name+
"损失了" + damage + "点HF");
if(defender.HP <= 0){
trace(defender.name + "顶5住了,倒了\n" + attacker.name+
"胜出");
timer.removeEventListener(TimerEvent.TIMER, round);
//移除监听
trace("\nGame Over");
return;
//退出程序
}
trace(hero.name + "HP:" + hero.HP + "\t"+
boss.name + "HP:" + boss.HP+"\n" );
}
author:KKK
date:2010-07-22
function:【古惑仔之人在江湖】人在江湖漂,哪能不挨刀,话说陈浩南投入洪兴大佬B门下之后,忠心效主。
洪兴另一揸Fit人靓坤,将大佬B谋害,遂于陈浩南结怨,一场生死之战拉开。
战至最后,今日不是你死就是我亡
*/
var hero:Object = new Object();
var boss:Object = new Object();
hero.name = "@陈浩南@";
hero.HP = 100; //生命值
hero.ATT =90; //攻击力
hero.DEF = 88; //防御力
hero.AGI = 60; //敏捷度
hero.skill1 = "拳头";
hero.skill2 = "铁链";
hero.skill3 = "钢管";
boss.name = "#靓坤#";
boss.HP = 120; //生命值
boss.ATT =92; //攻击力
boss.DEF = 90; //防御力
boss.AGI = 22; //敏捷度
boss.skill1 = "飞脚";
boss.skill2 = "小刀";
boss.skill3 = "砍刀";
var timer:Timer = new Timer(1000);
//1000毫秒间隔发送事件
timer.addEventListener(TimerEvent.TIMER, round);
//监听事件
timer.start();
function whoAttacks(a:Object, b:Object):Array{
return a.AGI*Math.random() > b.AGI*Math.random()? [a,b]:[b,a];
}
function round(e:TimerEvent):void{
var damage:Number;
var skillIndex:uint;
var roundFight:Array = whoAttacks(hero, boss);
var attacker:Object = roundFight[0];
var defender:Object = roundFight[1];
damage = attacker.ATT * Math.random() - defender.DEF * Math.random();
if (damage <= 0){
damage = 0;
}else{
damage = Math.ceil(damage);
//伤害值取整
}
defender.HP -= damage ;
if(damage < attacker.ATT /3){ //按照伤害值来选定攻击方式
skillIndex = 1;
}else if(damage < attacker.ATT*2 /3){
skillIndex = 2;
}else{
skillIndex = 3;
}
trace(attacker.name + "向" + defender.name + "使出了" +
attacker["skill"+skillIndex] + "," + defender.name+
"损失了" + damage + "点HF");
if(defender.HP <= 0){
trace(defender.name + "顶5住了,倒了\n" + attacker.name+
"胜出");
timer.removeEventListener(TimerEvent.TIMER, round);
//移除监听
trace("\nGame Over");
return;
//退出程序
}
trace(hero.name + "HP:" + hero.HP + "\t"+
boss.name + "HP:" + boss.HP+"\n" );
}
![](http://hi.csdn.net/attachment/201107/22/0_13113404023fwZ.gif)
相关文章推荐
- 一个汉族朋友学习维吾尔语言文字的心得
- Tesseract-OCR 3.0.1训练自己的语言库之图像文字识别
- 用Construct2做第一个小游戏
- MediaWiki 设置:多语言文字方案
- 第一个 C 语言编译器是怎样编写的?
- 汇编语言第一个程序
- 第一个程序01 - 零基础入门学习汇编语言20
- Oracle数据库多语言文字存储解决方案(四)
- go语言快速入门:第一个HelloWorld(2)
- 第01天OC语言(08):第一个OC方法2
- perl语言文字处理模式
- 数学无处不在:语言、文字与数学
- Go语言开发第一个Hello,World
- 汇编语言学习记录--第一个汇编程序
- 获取文字列的byte数_多语言对应
- C 语言:返回两个数组中第一个相同元素的指针(我用了loop 、goto loop标签)
- 《数学之美》(吴军 著)读书笔记:第1章 文字和语言 vs 数字和信息
- 发布自己第一个npm 组件包(基于Vue的文字跑马灯组件)
- Oracle数据库多语言文字存储解决方案
- 运维自动化之基于python语言的文字界面的运维管理软件