最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

新元的無名殺擴(kuò)展教程(一)技能_7數(shù)據(jù)類型及分析,運(yùn)算

2022-10-22 12:21 作者:新元noname  | 我要投稿

前言

在前面的幾期,我們已經(jīng)了解諸多一般技能和特殊技能的格式,并知道了inherit繼承標(biāo)簽的用法。我們在前面幾期已經(jīng)了解了在skill里面許多標(biāo)簽的代表的含義,現(xiàn)在我們來講講語法。


數(shù)據(jù)類型

一.基本數(shù)據(jù)類型

1.Boolean 布爾

布爾,它用于邏輯判斷。有兩種:真,即true,和假,即false

false和true與0和1對應(yīng)著。


2.Number 數(shù)字

數(shù)字分為兩種,一種為整數(shù),一種浮點(diǎn)數(shù)。

整數(shù)不用提,可以是整數(shù),負(fù)數(shù),0

浮點(diǎn)數(shù),可以理解為小數(shù)。但是,我們知道,電腦只能識別二進(jìn)制的數(shù)字,如果是整數(shù),那沒有問題,如果是浮點(diǎn)數(shù)就會產(chǎn)生誤差。假設(shè)我們有一個十進(jìn)制數(shù)字1.1,我們現(xiàn)在用二進(jìn)制轉(zhuǎn)換器來實(shí)驗(yàn)它的結(jié)果:

二進(jìn)制的1.1

我們再把它轉(zhuǎn)化回來

轉(zhuǎn)化回來的結(jié)果

所以,我們不能想當(dāng)然地認(rèn)為0.1+0.1就等于0.2,對于計算機(jī)來說,它就是個假命題。(雖然很詭異,要我們承認(rèn)0.2≠0.2!)

我們也可以用科學(xué)記數(shù)法表示一個數(shù)字,比如,1e2就是1×102,1e-2就是0.01(1×10^-2)。

此外,還有一些特殊的數(shù)字

Number.MAX_VALUE,這是最大的數(shù)字。

Number.MIN_VALUE,這是最接近0的數(shù)字。

Number.POSITIVE_INFINITY或者Infinity,這是無窮大

Number.NEGATIVE_INFINITY或者-Infinity,這是負(fù)無窮大

Number.NaN或者NaN,這是一個非數(shù)字。兩個非數(shù)字并不相等。


3.String字符串

字符串,用""或''將字符引起來就叫字符串。

如"yiji"就是一個字符串,"你好呀"就是一個字符串。

一個字符串從一個"或'開始,直到下一個"或'結(jié)束。單引號雙引號要統(tǒng)一。

要在一個字符串中用"或'請在前面加\比如"\"yiji\" "或者"\'yiji\' "


4.null 空

按字面意思理解就好,即空對象。


5.undefined 未定義

按字面意思理解就好,未定義的都叫undefined。比如你引用了一個不存在的技能,它的值就是undefined


以上為基本數(shù)據(jù)類型,除此之外,還有BigInt和Symbol數(shù)據(jù)類型,在這里不做介紹。

二.復(fù)雜數(shù)據(jù)類型

1.Object對象

我們把外面是{},里面是key:value形式,其中每個key:value以,相連,這就叫做object。

比如

{

key0:value0,

key1:value1,

key2:value2

}

這就叫一個object。

可以這么理解object對象。value是一個數(shù)據(jù),而key是為它起的名字。

要注意的是,key是一個string字符串,但是可以省略引號。

調(diào)出其中的value值方法是:對象名[key值]

比如,我將以上對象命名為object1,如果我要調(diào)出其中的value1值,我們就寫成:

object1["key1"]

創(chuàng)建新的key:value對的方法為:對象名[創(chuàng)建的key值]=創(chuàng)建的value值

比如我們?yōu)閛bject加一個key3:value3對,就寫成:

object["key3"]=value3

這里的""雙引號不能省略,以上的value3表示任意數(shù)據(jù)

2.Array數(shù)組

我們把外面是[],里面是任意一種數(shù)據(jù)的,叫做Array,比如

[0,

"三國殺",

true,

{

skill:"yiji"

},

[],

function(){}]

數(shù)據(jù)分項(xiàng)數(shù),第一項(xiàng)就為0,第二項(xiàng)就為"三國殺",以此類推,等等

同樣的,要調(diào)出其中任意一項(xiàng)就是:數(shù)組名[項(xiàng)數(shù)-1]

比如,我們將數(shù)組命名為Array1,要調(diào)出其中的第一項(xiàng):

Array1[0]

數(shù)組也有一個屬性,length,即它的總項(xiàng)數(shù)

還是這個Array,Array1.length就等于6

3.Function函數(shù)

function是一個放代碼的地方,有需要時就會用到它。

可以這樣創(chuàng)建一個函數(shù)

function(){}

大括號內(nèi)就是填的你要放的代碼。

我們要調(diào)用一個函數(shù),就這樣寫:函數(shù)名()

比如我將以上函數(shù)命名為myFunction,

我要用時,就寫:

myFunction()

小括號中,可以根據(jù)函數(shù)本身填上各種數(shù)據(jù)。比如:

myFunction(11,true,"你好")

這些填上的數(shù)據(jù)會交給其相應(yīng)函數(shù)處理。

這些填上的數(shù)據(jù)的集合在處理時叫做arguments,其中第一項(xiàng)11為arguments[0],第二項(xiàng)true為arguments[1],"你好"為arguments[2],以此類推。

比如名為myFunction的存的代碼是,小括號內(nèi)填的內(nèi)容不變:

game.print(arguments[0])

調(diào)用myFunction,在游戲的控制臺那里可以看見,有一個數(shù)字就為11。

以上為對象類數(shù)據(jù)類型,除此之外,還有RegExp和Date等等,也不做介紹


skill數(shù)據(jù)

已經(jīng)知道數(shù)據(jù)類型了,我們可以對skill的數(shù)據(jù)類型進(jìn)行分析

任何技能都是一個object,而其key都是string,這都沒什么好說的,重要的是value值。

trigger

trigger的value是一個object,其下的key為player,source,global等等,player,source,global等等的value值為array,array內(nèi)每一項(xiàng)都為string

即:

trigger:{

player:["",""],

global:["",""],

source:["",""]

}

標(biāo)簽類

特殊技能標(biāo)簽的value都是布爾,

即:

forced:true,

limited:true,

juexingji:true,

zhuanhuanji:true,

zhuSkill:true,

dutySkill:true,

charlotte:true,

動畫標(biāo)簽中,skillAnimation的value值是一個boolean布爾,animationColor的value值是一個string字符串

skillAnimation:true,

animationColor:"",

在標(biāo)記標(biāo)簽中mark的value值是一個布爾boolean,marktext的value值是一個string字符串,intro的value值是一個object對象,其下的name的value值為string字符串,其下的content的value值為string字符串(或者function函數(shù))


mark:true,

marktext:"",

intro:{

name:"",

content:"limited"

},

衍生技標(biāo)簽derivation,其value值是array數(shù)組,這個array的項(xiàng)皆為string字符串;技能組標(biāo)簽group,其value值是array數(shù)組,這個array的項(xiàng)皆為string字符串

derivation:["",""],

group:["",""],

繼承標(biāo)簽inherit,其value值是string字符串

inherit:"",

子技能標(biāo)簽subSkill的value值是一個object,其下可以有任意個key,這些key對應(yīng)的value值也都是object。

函數(shù)類

filter,init,content這些的value值都為function。我們已經(jīng)講過filter的arguments和init的arguments,這里不再多述。我們要說一下content。

content的function是無名殺獨(dú)特寫法,其有著一些獨(dú)特的語法,這也是我們要了解的重點(diǎn)。

在content那里,我們不需要arguments,因?yàn)樗腶rguments中的項(xiàng)太多,發(fā)動技能的時候,就幫我們處理好了;在filter和init那里我們需要arguments,或者至少為arguments的項(xiàng)起名字。


player屬性數(shù)據(jù)

我們講一下player的屬性,這里指的player就是某一場上角色

player是一個對象,叫元素對象(element)。

player.name1即角色的id,它是一個string字符串

player.identity即身份,它是一個string字符串

player.hp即體力值,顯然的,它是一個number數(shù)字

player.maxHp即體力上限,同樣的,它是一個number數(shù)字

player.hujia即護(hù)甲值,也是一個number數(shù)字

player.skills即技能,它是一個array,array的每一項(xiàng)都是技能的id,技能的id當(dāng)然是string字符串

player.storage即儲存空間,它是一個object。



計算

1.數(shù)字運(yùn)算(結(jié)果為number)

四則運(yùn)算算法不用多提,我們來說一下其運(yùn)算符號:

加號:+

減號:-

乘號:*

除號:/

此外還有一個取余符號,它專門算余數(shù)。比如1/2的余數(shù)是1,進(jìn)行運(yùn)算后,表達(dá)式的值就為1

那么如何用表達(dá)式寫呢?

寫成這樣

1%2

這就是取1/2的余數(shù)

此外,對于+1和-1,我們也有簡便的寫法,比如我們想讓1加1,自然可以寫

1+1

還可以寫成

1++

對應(yīng)的也有

1--

2.關(guān)系運(yùn)算(結(jié)果為boolean)

>,<,==,===

>大于符號,它的運(yùn)算結(jié)果是一個boolean布爾

比如

3>5

為假,它結(jié)果就是false

再如

4>3

為真,它的結(jié)果就是true


<小于同理


==等于

兩邊相等就為true,否則為false,比如

3==3

為true

此外,number數(shù)字和string字符串也可以相等,前提是string字符串里也為數(shù)字,比如

1=='1'

為真

特別的:

''==0

為真

number數(shù)字也可以和boolean布爾相等,比如

1==true

0==false

為真

string字符串也可以和boolean相等,比如

'1'==true

'0'==false

''==false

為真

特殊的:

undefined==null

為真


===嚴(yán)格等于

===嚴(yán)格等于,等式兩邊不僅值要一樣,而且數(shù)據(jù)類型一樣才為真。

1==='1'

為假

===嚴(yán)格等于比==等于更快,因?yàn)?=還要進(jìn)行數(shù)據(jù)轉(zhuǎn)換。

3.邏輯運(yùn)算(結(jié)果為boolean)

||,&&,!

||或,兩邊有一真為真,兩邊皆假為假。

&&且,兩邊有一假為假,兩邊皆真為真。

!非,可以使一個布爾值變?yōu)橄喾吹?/p>

!!雙重否定,可以將一個數(shù)據(jù)變?yōu)閷?yīng)的布爾值。

新元的無名殺擴(kuò)展教程(一)技能_7數(shù)據(jù)類型及分析,運(yùn)算的評論 (共 條)

分享到微博請遵守國家法律
普兰县| 松阳县| 崇阳县| 吴川市| 博白县| 甘南县| 峡江县| 长乐市| 大余县| 南昌市| 兴国县| 庆安县| 襄垣县| 定南县| 宣武区| 友谊县| 准格尔旗| 余庆县| 晋中市| 新乡市| 赫章县| 澜沧| 秀山| 昆明市| 同德县| 越西县| 荃湾区| 绿春县| 辽阳市| 乌兰浩特市| 玛沁县| 故城县| 河北省| 革吉县| 宜兰市| 新建县| 新密市| 安泽县| 都兰县| 庆元县| 新昌县|