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

歡迎光臨散文網 會員登陸 & 注冊

新元的無名殺擴展教程(一)技能_8一些簡單函數

2022-10-29 20:56 作者:新元noname  | 我要投稿

前言

在前面,我們已經了解了各種數據類型。在本篇文章中,我們就將學習一些函數的基本用法。

在這之前,先說明一下,我們將數據類型的名稱按以下方式簡寫:

布爾boolean→bool

數字number→num

字符串string→str

對象object→obj

函數function→func

在無名殺中如角色,牌這些對象,我們把它單獨列出來,在正文中按以下方式表示:

角色→player

牌→card

我們將由角色構成的數組表示為players

我們提過的game.players就是一個players

我們將由牌構成的數組表示為cards

我們將用來表示屬性的字符串表示為nature

"thunder"雷屬性,"fire"火屬性,"ice"冰屬性,"kami"神屬性,等等

我們將一個區(qū)域表示為position

"h"手牌區(qū);"e"裝備區(qū);"j"判定區(qū),等等

player

在本文中所指的player指的是角色,如

game.me(玩家你),_status.currentPhase(當前回合角色),game.players[i](i是一個數字)(場上某個角色)之類

player的函數都是自己專屬的,player的函數,card(本文中指一張實體牌)就不能用。

比如,就不存在card.draw;card.recover這類函數。(當然你可以自己定義)


函數

函數func,實際上就是一段既成的代碼。在需要使用就引用它,引用的方法是,obj.函數名(),或,obj[函數名]()如:

player.draw()

player['draw']()

函數隨著參數的不同,會使作用效果有些不同。

我們將引用函數時,實際傳入的參數叫做實參,如:

player.draw(10)

這個函數的實參就是10

我們將寫在定義函數中的參數叫做形參。

如我們寫在filter的func

function(event,player){

}

這個event,player就叫形參,它用于處理數據。

在實際處理效果中,形參和實參一一對應,比如,我們自己創(chuàng)建個對象并創(chuàng)建個函數:

let obj={

say:function(str1,str2,str3){

game.print(str1,str2,str3)

}

}

然后我們調用這個函數

obj['say']("一","二","三")

實際執(zhí)行的代碼相當于:

game.print("一","二","三")

這里的"一","二","三"就會作為一個有序集合傳給相應的func,這個有序集合在我們定義的函數那里就叫arguments,而這里的arguments和我們之前所講的是一樣的。就不作贅述。


一些函數的一些形參

1.player.draw //摸牌

其參數類型有num,str,bool,player等

num決定著角色的摸牌數(默認為一),如

player.draw(2)

角色就摸兩張牌

bool決定著摸牌是否有動畫(默認有動畫),如

player.draw(false)

角色摸牌就沒有動畫

player決定著角色的摸牌的來源角色

player.draw(_status.currentPhase)

角色的摸這一張牌來源就為當前回合角色

str又分為幾種

'visible',摸牌可見

player.draw('visible')

'nodelay',摸牌無延遲

player.draw('nodelay')

'bottom',從底部摸牌

player.draw('bottom')

將以上所有參數都調用就為:

player.draw(5,false,player,'visible','nodelay','bottom')

角色就無動畫從底部地摸五張牌,且這些牌所有角色可見,不延遲。


2.player.link/*橫置*/及player.turnOver/*翻面*/

這兩個的函數的參數都只有一個,其類數據型為bool

在我們沒有參數時,這兩個函數是這樣運作的:

若角色已橫置/翻面,則重置/翻回;否則,角色橫置/翻面

我們填入參數時它又是這樣運作的:

player.link(true)

player.turnOver(true)

這兩個函數,其參數為true時,若角色已橫置/背面朝上,則無事發(fā)生;若角色未橫置/正面朝上,則角色橫置/翻面。

總而言之,填了個true,結果是:角色一定橫置/背面朝上

反之,若填入的參數為false

player.link(false)

player.turnOver(false)

角色一定未橫置/正面朝上。


3.player.damage//受到傷害

該函數常用的參數有以下幾種:

num,nature,player,str

num決定著受到傷害的數值(默認為1),如

player.damage(2)

角色就受到2點傷害

nature即傷害的屬性(默認為無),如

player.damage("thunder")

角色就受到1點雷屬性傷害

player來設置傷害來源,如:

player.damage(game.me)

角色的傷害來源就為玩家你

str也有幾種:

'nosource',傷害無來源

player.damage('nosource')

'nocard',傷害不由卡牌造成(曹操不能發(fā)動奸雄)

player.damage('nocard')


4.player.recover//恢復體力

常用的參數有num,player,str('nocard','nosource')用法與damage類似,就不多贅述


5.player.loseHp,player.gainMaxHp,player.loseMaxHp//分別為失去體力,加體力上限,減體力上限

常用的參數有num,其決定著事件的數值(默認為1)

player.loseHp(2)

player.gainMaxHp(3)

player.loseMaxHp(4)

角色就依次失去2點體力,加3點體力上限,減4點體力上限。


6.player.die//死亡

player.die()

角色就直接死亡


7.player.changeHujia//更改護甲

參用參數有num

當num為正數時,角色增加護甲:

player.changeHujia(2)

當num為負數時,角色減少護甲:

player.changeHujia(-2)


8.player.changeGroup//更改勢力,不影響國戰(zhàn)身份

常用參數有str,此為必填且必須是第一項

player.changeGroup("shu")

角色勢力就更改為蜀


9.player.drawTo//將手牌摸至

有兩個參數,num,Array

num指的是手牌摸至的值,如:

player.drawTo(5)

角色就將手牌摸至五張

Array中填的數據為player.draw中除num的數據

比如

player.drawTo(5,[game.players[0],"visible"])

角色就將手牌摸至五張,來源是一號位,摸的牌所有角色可見。

num,Array的順序不可互換。


10.player.getBuff和player.getDebuff//獲得正面效果/負面效果(什么效果自己試)

player.getBuff

角色就獲得一個正面效果

player.getDeBuff()

角色就獲得一個負面效果


11.player.goMad//進入混亂狀態(tài)

有一個obj參數其寫法和技能中的trigger一樣。

比如:

player.goMad({player:"phaseBegin"})

混亂狀態(tài)會持續(xù)到角色下個回合開始時。


12.player.revive//復活

有兩個參數一個為num,一個為bool

num用于設置角色復活時恢復的體力值,

bool為false時游戲不會有l(wèi)og

比如

player.revive(2)

復活,且復活時體力值為1點


13.player.init//本來是用于角色登場的,也可以用于替換武將

參數有str1,str2,bool

str1指的是登場的主將的id名

str2指的是登場的副將的id名

bool用于設定是否添加武將牌的技能

比如

player.init("caocao","liubei")

就將武將替換為了曹操、劉備


14.player.clearSkills//清除武將所有的技能,除了charlotte技、superCharlotte、tempSkill

參數全部為str,這里指技能的id,可以寫任意個id,這些技能不會被清除。

player.clearSkills("yiji","jianxiong")

遺計,奸雄就不會被清除


15.player.insertPhase//額外進行一個回合

player.insertPhase()

角色就額外進行一個回合。


16.player.removeSkill//移除技能

只有一個參數,可以為str或者Array,str是移除技能的id,Array是要移除的技能的集合。

比如

player.removeSkill("yiji")

再如

player.removeSkill(["yiji","jianxiong"])


17.player.randomDiscard//隨機棄置牌

有三個參數:

num,position,bool

num即棄牌數(默認為1),position即棄牌區(qū)域(默認為"he",即手牌區(qū)裝備區(qū)),bool即是否延遲

player.randomDiscard(2,"h")

這樣就隨機棄置了角色兩張牌。


18.player.randomGain//隨機獲得指定角色牌

有四個參數:

player,position,num,bool

其中position和num與player.randomDiscard相同就不作贅述

player指"你獲得誰的牌"中的誰

bool用于控制是否有指示線

比如:

player.randomGain(_status.currentPhase,2,"h")

你就隨機獲得當前回合角色兩張手牌


19.player.disableJudge,player.enableJudge,player.disableEquip,player.enableEquip,player.swapEquip,player.swapHandcards//六個對區(qū)域的操作,分別為:廢除判定區(qū),恢復判定區(qū),廢除裝備區(qū),恢復裝備區(qū),交換裝備區(qū),交換手牌區(qū)

player.disableJudge()

角色的判定區(qū)就廢除了

player.enableJudge()

角色的判定區(qū)就恢復了

player.disableEquip的參數為num

(1,2,3,4,5,6)對應于(武器,防具,+1馬,-1馬,寶物,坐騎(兩個都廢除))

player.disableEquip(1)

武器區(qū)就被廢除了

同理,player.enableJudge

player.enableJudge(1)

武器區(qū)就恢復了

兩個交換函數player.swapEquip和player.swapHandcards常用參數有player,就是"和誰交換"中的誰

player.swapEquip(game.me)

角色和玩家我交換了裝備區(qū)

player.swapHandcards(game.me)

角色和玩家我交換了手牌區(qū)


20.player.gain//獲得牌

這個函數的常用參數有:

card/cards,player,str

card就是你獲得的牌(一張),

cards就是你獲得的那些牌(多張),

player是牌的來源,

str中寫的也有很多

"gain2","draw","giveAuto"之類設置獲得牌的動畫,具體效果自己試

"fromRenku"

表示從仁庫中獲得的牌

"fromStorage"

表示從標記中獲得的牌

player.gain(game.createCard("sha"),"gain2")

角色就獲得一張【殺】

注:game.createCard可以來創(chuàng)造一張牌。

新元的無名殺擴展教程(一)技能_8一些簡單函數的評論 (共 條)

分享到微博請遵守國家法律
阜新市| 岱山县| 汽车| 上高县| 时尚| 美姑县| 濮阳市| 通化市| 浮山县| 道真| 武强县| 民勤县| SHOW| 东台市| 香河县| 遵义县| 酒泉市| 遂宁市| 阿拉善右旗| 綦江县| 牙克石市| 咸丰县| 武陟县| 红河县| 厦门市| 西乌珠穆沁旗| 卢湾区| 高邑县| 弋阳县| 全椒县| 大兴区| 迁安市| 且末县| 亚东县| 长治市| 常山县| 栾城县| 黄浦区| 航空| 永昌县| 和田县|