欢迎光临散文网 会员登陆 & 注册

无名杀代码教程 00.6

2021-07-31 13:01 作者:玩大师4的醒醒  | 我要投稿

好久不见啦,这篇教程的知识比较碎啊。


首先,还是强调下语法。最近给我提问的童鞋,很多都问"我这么写为什么没效果啊","我这么写为什么会报错啊"。这样的问题都是语法没有掌握,或者说,凭感觉创造语法(滑稽)


最常见到的,八卦阵

if(get.suit(card)=="heart"||get.suit(card)=="diamond")return 1;


有童鞋写成这样

if(get.suit(card)=="heart","diamond")return 1;

说明这块还要讲一下

//-------华丽的分割线-------//

下面讲一下代码中的语句


1.声明变量语句

作用:记录一个值(缩短代码)

var a;//声明一个变量a(命名规则同之前讲的标识符)(这时候a的值为undefined)

//下面是和赋值语句连用的例子

var a=1;//声明一个变量a,值为1

var a=1,b=2;//声明变量a为1,变量b为2

var a=player.getDamagedHp();//声明变量a为玩家已损失体力值


2.赋值语句

作用:修改变量的值,修改属性的值

a=2;//将变量a的值改成2

a=a+1;//将变量a的值+1

a++;同上

a+=2;//将变量a的值+2

a=player.isDamaged();//将变量a的值改成"玩家是否受伤"

player.hp=1;//将玩家血量变成1

ps:若值为对象类型(数组也算),那么会记录对象的地址,对a的操作会改变原对象的值


3.运行函数

player.draw();//执行摸牌函数

[1,2,3].randomGet();//取1到3的随机数

//和赋值语句连用

var a=[1,2,3].randomGet();//声明变量a为1到3的随机数


进阶知识:

player.name

这里面的.可以翻译成"的"

大部分数据类型可以加

注:

1.数字加的话,会认为是小数点(数字类用Math对象)

2.undefined null这些不能加,会报错

cannot read property xxx of undefined

cannot read property xxx of null


各种数据类型,有对应的方法(函数)

Math是数字类型的对象,有很多实用的方法

Math.max(1,2,3);//找出这些数的最大值,参数个数不限

Math.floor(1.1);//向下取整

Math.ceil(1.1);//向上取整

Math.abs(-1);//取绝对值

Math.random();//取0-1之间的随机数


数组可以直接加.

[1,2,3].contains(1);//数组是否包含

[1,2,3].push(4);//将4加入数组


字符串可以直接加.

"12345".indexOf(2);//找出2的位置,没找到返回-1

注:字符串和数组一样有length,也有slice方法,但没有contains方法



//最后,讲下addTempSkill和removeSkill吧

addTempSkill(技能名,持续到的时机)

注:死亡会移除这个技能,第2个参数默认为当前回合结束


player.addTempSkill("zhiheng");//直到当前回合结束获得制衡

player.addTempSkill("yingzi",{player:"phaseDrawAfter"});//直到其摸牌阶段结束获得技能英姿

注:其指获得技能的角色,不能让其他角色获得临时技能直到你的某个时机

player.addTempSkill("biyue",{player:"dieAfter"});

//这个例子有点特殊,因为死亡会移除技能,所以永远等不到dieAfter时机,相当于加了个死亡才移除的临时技能。一般用于长期获得临时技能,到时机手动移除技能。例如夺锐


player.removeSkill("yingzi");//移除技能英姿

注:可以移除临时技能,会触发onremove的内容


字数不少了,这篇专栏就到这吧










无名杀代码教程 00.6的评论 (共 条)

分享到微博请遵守国家法律