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

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

無名殺代碼教程N(yùn)o.2——發(fā)動(dòng)條件

2023-07-26 12:21 作者:緣伴隨行  | 我要投稿

發(fā)動(dòng)條件是什么?

可以理解成是一個(gè)技能在發(fā)動(dòng)前,系統(tǒng)進(jìn)行判斷是否符合要求的一個(gè)過濾條件。如果符合,那么這個(gè)技能正常發(fā)動(dòng)效果,反之,則不發(fā)動(dòng)。 比如上篇講的【閉月】,我們?nèi)绻由弦稽c(diǎn)發(fā)動(dòng)條件,效果改為【結(jié)束階段,若你的體力值大于1,你可以摸一張牌】。 那么相較于原版的描述,各位能發(fā)現(xiàn)【若……】的不同,而這,就是發(fā)動(dòng)條件。 發(fā)動(dòng)條件一般寫在技能效果(

content:function()

)的上面,一般框架為——

filter: function(event, player) {

return …… ;

},

(event, player) 這里面的event和player都是參數(shù),不用管。

return也不用管,固定格式罷了。

要補(bǔ)充的就是return后面的省略號(hào),這才是你要在本技能加上的發(fā)動(dòng)條件內(nèi)容。 比如【若你的體力值大于1】,已知調(diào)取玩家體力值的函數(shù)為【player.hp】,大于的函數(shù)符號(hào)是【>】(英文),那么這個(gè)發(fā)動(dòng)條件該怎么寫呢? 很簡(jiǎn)單,如下: filter: function(event, player) { return

player.hp > 1

;

}, 在本技能中,這個(gè)

return player.hp > 1

其實(shí)也可以寫成

if (player.hp > 1) return true

true就是表示條件符合,可以發(fā)動(dòng)技能效果的意思。

那么我們反其道行之,不想讓他條件符合,該怎么辦呢?

只需要把true換成false即可。這么一來,就變成了——

【if (player.hp > 1) return false】

翻譯一下——

【若你的體力值大于1,則此技能不可發(fā)動(dòng)】

但問題來了,技能要求是體力值大于1能發(fā)動(dòng),那么該怎么改呢? 很簡(jiǎn)單,動(dòng)一下腦回路——

if (player.hp <= 1) return false;

return true;

翻譯一下——

若你的體力值不大于1,則此技能不可發(fā)動(dòng)。

此技能可以發(fā)動(dòng)。

現(xiàn)在可能有些人就懵了,又是return false,又是return true的,啥意思?

if函數(shù)簡(jiǎn)單來說,就是表一個(gè)判斷——

【if (player.hp <= 1)】即【如果你的體力值不大于1】

假設(shè)這個(gè)條件成立,那么執(zhí)行后面的內(nèi)容,即【return false】

反之如果你此時(shí)的體力值大于1,導(dǎo)致條件不成立,那么【return false】不會(huì)執(zhí)行

我們要知道return false的話這個(gè)技能就不能發(fā)動(dòng)了,而return true的話這個(gè)技能就又可以發(fā)動(dòng)了。

一旦return了false或者true,這個(gè)技能能不能發(fā)動(dòng)就已經(jīng)定下來了,filter框架下面的代碼,系統(tǒng)就不會(huì)再繼續(xù)讀取進(jìn)行判斷了。

首先第一段話很好理解,就是你體力值不大于1的時(shí)候,技能就肯定不能發(fā)動(dòng)了。畢竟已經(jīng)return false了,下面的代碼不用再看了。

系統(tǒng)在讀取你寫的代碼進(jìn)行條件判斷的時(shí)候,都是從上往下的順序來的。

但如果你此時(shí)體力值大于1,if函數(shù)的條件不成立,那么不會(huì)有【return false】的結(jié)果。 系統(tǒng)就會(huì)繼續(xù)往下看。 而下面,也就是第二段,是【return true】。 系統(tǒng)看到return true了,那么結(jié)果就是true了,就代表這個(gè)技能可以發(fā)動(dòng)了。 于是就執(zhí)行content:function()里面的內(nèi)容,發(fā)動(dòng)技能效果了。 而在【閉月】這里,也就是成功的【摸一張牌】了。 總結(jié)

好了,總結(jié)一下,寫一個(gè)技能的發(fā)動(dòng)條件,關(guān)鍵是看return后面的是什么,以及條件是否成立。 由于邏輯不僅限于一種,所以這個(gè)技能發(fā)動(dòng)條件的寫法也是多樣的。

①這是一種,很直接了當(dāng)

②這是另一種,也能成立 課后作業(yè)

那么,趁熱打鐵,來挑一個(gè)難度試試吧! ①【閉月】結(jié)束階段,若你的體力值小于3,你可以摸一張牌 ②【閉月】鎖定技。準(zhǔn)備階段,若你的體力值大于1且小于4,你摸兩張牌 ③【閉月】準(zhǔn)備階段,若你的手牌數(shù)大于1且體力值大于1,你可以棄置一張手牌,并摸三張牌

以下是寫作過程中會(huì)用到的函數(shù):

player.chooseToDiscard(true, 1, 'h'); //玩家必須棄置一張手牌

player.countCards('h'); //玩家當(dāng)前的手牌數(shù)量

&& //連接前后代碼的函數(shù),比如【player.hp > 1 && player.hp == 2】翻譯即【玩家的體力值大于1并且等于2(==表等于,=一般可用于賦值)】

無名殺代碼教程N(yùn)o.2——發(fā)動(dòng)條件的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
天津市| 庄浪县| 安西县| 井陉县| 霍城县| 宜兰市| 辽阳县| 东山县| 镇安县| 黄浦区| 观塘区| 宁津县| 乐业县| 阿尔山市| 盐城市| 扎鲁特旗| 绥化市| 北流市| 阜宁县| 哈尔滨市| 木兰县| 蓝田县| 禹州市| 清新县| 中阳县| 红桥区| 精河县| 乌审旗| 文山县| 石河子市| 广水市| 西乌| 黑山县| 通道| 黄大仙区| 武乡县| 永胜县| 寿光市| 武平县| 新蔡县| 神农架林区|