一个自欺欺人的代码(便于理解函数和对象基础)
之前在对象基础里,我说对象就像游戏里的一个人物,这个人物有血条,魔条,物理攻击力等等的基本属性,也有攻击等基本方法。
在这里,我就写一个小例子,是用来自欺欺人的。真的,随便玩玩就好,如果想认真的做一个回合制游戏,可以参考我这个代码。
不说了,直接上代码:
function Person(o){ this.name= o.name; //名字 this.profession= o.profession;//职业 this.rank= o.rank; //等级 this.blood= o.blood; //血条 this.margic= o.margic; //蓝条 this.physics_attack= o.physics_attack; //物理攻击力 this.margic_attack= o.margic_attack; //魔法攻击力 this.physics_defense= o.physics_defense; //物理防御力 this.margic_defense= o.margic_defense; //魔法防御力 this.speed= o.speed; //速度 this.attribute=function(){ console.log(this.name+"基本属性:"); console.log("职业:"+this.profession+" 等级:"+this.rank+" 血条:"+ this.blood+" 蓝条:"+this.margic+" 物理攻击力:"+ this.physics_attack+" 魔法攻击力:"+this.margic_attack+ " 物理防御力:"+this.physics_defense+" 魔法防御力:"+ this.margic_defense+" 速度:"+this.speed);} //基本属性显示 this.physics_attack_two=function(two){ var hurt=this.physics_attack-two.physics_defense>0?this.physics_attack-two.physics_defense:0; two.blood-=hurt; console.log(this.name+"的拳头攻击了"+two.name); console.log(this.name+"的物理攻击是"+this.physics_attack+","+two.name+"的物理防御是"+two.physics_defense); console.log("所以,"+two.name+"承受了"+hurt+"伤害");} //物理攻击(谁) this.margic_attack_two=function(two){ var hurt=two.margic_attack-this.margic_defense>0?two.margic_attack-this.margic_defense:0; two.blood-=hurt; console.log(this.name+"的魔法攻击了"+two.name) console.log(this.name+"的物理攻击是"+this.margic_attack+","+two.name+"的物理防御是"+two.margic_defense); console.log("所以,"+two.name+"承受了"+hurt+"伤害");} //魔法攻击(谁) } var lizhiyang=new Person({ name:"张三", profession:"神棍", rank:1, blood:50, margic:200, physics_attack:100, margic_attack:20, physics_defense:0, margic_defense:10, speed:1 }); var chenan=new Person({ name:"王五", profession:"和平人士", rank:1, blood:5000, margic:200, physics_attack:10, margic_attack:20, physics_defense:10, margic_defense:10, speed:1 }); lizhiyang.attribute(); chenan.attribute(); lizhiyang.physics_attack_two(chenan); lizhiyang.margic_attack_two(chenan); lizhiyang.attribute(); chenan.attribute();
如果觉得代码太乱了,可以不用看,但我建议还是看下吧,毕竟我个人认为这串代码对理解函数和对象基础很有帮助。
如果想要拓展做成一个回合制游戏的,我只能给一个建议:人物对象里可以有技能对象(技能对象里有血战八方、凤舞九天等技能对象,血战八方则有攻击力、魔法攻击力等属性)。
如果真的想做的话,请私聊我,咱们一起成长,顺便一起探讨人生。
当然想做的话,请熟悉面向对象的概念,了解内存的概念,还要了解性能高效的技巧。本章只是一个基础知识,是帮助理解的。若真的用本章的知识做成了一个回合制游戏,那么恭喜你,你会疯了的,至于原因,等你疯了就知道了,哈哈。