游戲王DIY——面向“對(duì)象”的秀恩愛(ài)程序語(yǔ)言卡組

【K社垃圾,我都比K社會(huì)設(shè)計(jì)卡 (1/1)】
前言(太長(zhǎng),可不看)
俗話說(shuō)得好,游戲王玩家必須得什么都會(huì),否則根本看不懂卡片里的梗,V6字幕組瘋狂科普卡名neta,彈幕紛紛夸“這年頭做游戲王字幕真是什么都得會(huì)”,由此可見(jiàn)K社設(shè)計(jì)某些卡組是基于非非原創(chuàng)主題的(比如無(wú)限起動(dòng))。那我們?cè)贒IY游戲王卡片的同時(shí),為何不嘗試自己想一個(gè)基于非原創(chuàng)主題的原創(chuàng)系列呢?
縱觀作哥的電子界卡組,內(nèi)含無(wú)數(shù)計(jì)算機(jī)相關(guān)術(shù)語(yǔ),但是并沒(méi)有出現(xiàn)編程語(yǔ)言,令我惋惜。(也許有,但是肯定不多,我暫時(shí)沒(méi)找到)反而電子界族還摻雜了一些不知道為什么是電子界的東西,比如說(shuō)某些炎獸,某些乙女。于是我站了出來(lái),開(kāi)始了無(wú)能狂怒——DIY!眾所周知,DIY并不會(huì)讓K社發(fā)現(xiàn)你并接納你的卡片,但是發(fā)布出來(lái)會(huì)很爽,不知道為什么。而K社是日本公司,我是中國(guó)人,K社出卡用日文雙關(guān)(哈德斯都能雙關(guān)成哈Death也就日文能干得出這事了),我這里姑且用一下中文雙關(guān),既然都沒(méi)人玩,哪國(guó)雙關(guān)并不用關(guān)心。這個(gè)雙關(guān)呢,就是,“面向?qū)ο蟆?(如果你不知道什么是面向?qū)ο?,可以看一下百度百科)。它是一個(gè)編程方法,而“對(duì)象”在中文又可以理解為“愛(ài)人”,同時(shí)也是游戲王的“取對(duì)象”同一用詞,三關(guān),成了!
在卡名中也會(huì)出現(xiàn)英文雙關(guān),誰(shuí)讓編程語(yǔ)言都是英文字母啊QWQ
那么我宣布,我的這套DIY系列名字叫
Oriented O'Lovers
情導(dǎo)愛(ài)侶
名字來(lái)源:面向?qū)ο螅∣bject Oriented),將對(duì)象換成“愛(ài)人”之意,在英文上更改順序,變成Oriented O'Lovers,這樣縮寫(xiě)仍然是OO,中文可以好聽(tīng)點(diǎn),就叫情導(dǎo)愛(ài)侶吧。
主題來(lái)源:一些奇奇怪怪的GALGAME中的什么青春校園,男男女女都憧憬著戀愛(ài),試圖在學(xué)校中尋找最適合的伴侶。
玩法創(chuàng)意:我經(jīng)常想超量的素材能不能記錄什么東西,就像十二獸那樣,電子光蟲(chóng)那樣,重貨列車那樣,否則感覺(jué)超量這個(gè)沒(méi)發(fā)揮完全。
圖片來(lái)源:本次卡圖我用Manga maker ComiPo!制作,它是一個(gè)制作簡(jiǎn)易漫畫(huà)的軟件,里面的模型都是其DLC自帶的??矩i宴的截圖來(lái)自于網(wǎng)絡(luò),一些小零件用ppt制圖。
玩法大概:本家下級(jí)為超量怪獸提供額外效果和攻擊力,通過(guò)額外效果做超量怪獸進(jìn)行攻擊或者壓制。
下面正式開(kāi)始:

先介紹校園里可愛(ài)的妹子們,女生都是水屬性100/100的1星怪獸,都有一個(gè)被當(dāng)做超量素材取除后能發(fā)動(dòng)的效果。她們作為xyz怪獸終端的輔助,賦予終端額外的效果。
她們(的名字)都是參數(shù)類型。

情導(dǎo)愛(ài)侶 伊蒂吉
①:同名1回合1次,自己場(chǎng)上1個(gè)計(jì)數(shù)指示物取除,這卡手卡特招。
②:作為xyz素材被拔的場(chǎng)合,選自己場(chǎng)上1怪為對(duì)象發(fā)動(dòng),抽1,然后可以改變那只怪獸表示形式。
Integer,就是參數(shù)類型Int了,就是整數(shù)的數(shù)據(jù)類型,①效果是因?yàn)橛?jì)數(shù)器通常都是用的整數(shù)類型,所以可以說(shuō)當(dāng)你有計(jì)數(shù)器的時(shí)候,整數(shù)類型數(shù)據(jù)就已經(jīng)存在了,②效果只要涉及數(shù)字我覺(jué)得就能跟Int掛鉤(抽1)。順便說(shuō)一下②效果是另開(kāi)連鎖的(參照重機(jī)貨列車)。

情導(dǎo)愛(ài)侶 思德琳
①:同名1回合1次,自己場(chǎng)上怪獸只有炎屬性的場(chǎng)合能從手卡特召。
②:作為xyz素材被拔的場(chǎng)合,以場(chǎng)上1只表側(cè)怪為對(duì)象發(fā)動(dòng),那只怪獸攻守上升1000。
String:字符串,各種編程語(yǔ)言中最常見(jiàn)的一個(gè)類型(C語(yǔ)言哭了),但是效果好像和字符串沒(méi)有多大關(guān)系哦。

情導(dǎo)愛(ài)侶 布爾粼
①:同名1回合1次,自己本家xyz怪特殊召喚成功的場(chǎng)合可以從手卡特召。(不入連鎖)
②:作為xyz素材被拔的場(chǎng)合,以場(chǎng)上1只1星怪獸和自己場(chǎng)上1只xyz怪獸為對(duì)象才能發(fā)動(dòng),1星怪獸去當(dāng)xyz素材。
Boolean就是經(jīng)典的布爾值,只有True 和 False(1和0),經(jīng)常用于判斷,要注意①效果不入連鎖,②效果可以把對(duì)方的1星怪吸收。

情導(dǎo)愛(ài)侶 尼爾
①:自己場(chǎng)上沒(méi)卡,或者只有場(chǎng)地卡時(shí),可從手卡特召。
②:作為xyz素材被拔的場(chǎng)合,以場(chǎng)上1張卡為對(duì)象才能發(fā)動(dòng),那張卡如果不是本家卡就破壞。
Nil是Lua類型中代表“無(wú)”的一個(gè)參數(shù)類型,其他語(yǔ)言可能用NULL,N/A,等代替,她通常的用途就是讓某個(gè)參數(shù)消失(②效果),①效果則因?yàn)橹挥小盁o(wú)”的時(shí)候才能出現(xiàn)她
妹子們介紹完畢,接下來(lái)介紹帥氣紳士的男生們。他們都是炎屬性200/200的1星怪獸,共通效果是:含有此卡為xyz素材的xyz怪獸獲得效果:把包含這個(gè)素材的2個(gè)素材取除,xxxx....他們給予本家xyz怪獸效果,賦予xyz怪獸作為終端的能力。
他們(的名字)都是方法。

情導(dǎo)愛(ài)侶 普林特
①:召喚成功時(shí)可以檢索一個(gè)本家卡,然后本家特招自肅。
②:有這張卡作xyz素材的本家xyz怪獸獲得以下效果:
●:二速:把包含“情導(dǎo)愛(ài)侶 普林特”在內(nèi)的2個(gè)xyz素材取除,以場(chǎng)上1只表側(cè)怪為對(duì)象才能發(fā)動(dòng):那只怪獸的攻守減半。
Print,最常見(jiàn)的打印方法,在某些語(yǔ)言中幾乎接納任何類型,這也是他檢索面廣的原因之一,②效果賦予xyz怪獸讓怪獸攻守減半的效果,可能是因?yàn)榇蛴y碼讓對(duì)方看不懂吧(……)

情導(dǎo)愛(ài)侶 康維特
①:在場(chǎng)上被當(dāng)做效果對(duì)象時(shí),從手卡特招1水屬性本家怪。
②:有這張卡作為xyz素材的本家xyz怪獸獲得以下效果:
●:二速:把包含“情導(dǎo)愛(ài)侶 康維特”在內(nèi)的2個(gè)xyz素材取除,對(duì)方墓地一卡除外。
Convert是SQL的轉(zhuǎn)換函數(shù),但是SQL不是面向?qū)ο蟮恼Z(yǔ)言……我本來(lái)是想用的是C#里的Convert.To.XXX函數(shù)為原型的,Convert方法用來(lái)轉(zhuǎn)換參數(shù)類型,①效則是轉(zhuǎn)化成了手卡特招的卡的對(duì)象,②效果則是轉(zhuǎn)換了對(duì)方墓地的卡的狀態(tài)(強(qiáng)行)。

情導(dǎo)愛(ài)侶 因瑟特
①:在場(chǎng)上被當(dāng)做效果對(duì)象時(shí),抽1,若是水屬性本家卡,可特招之。
②:有這張卡作為xyz素材的本家xyz怪獸獲得一下效果:
●:二速:把包含“情導(dǎo)愛(ài)侶 因瑟特”在內(nèi)的2個(gè)xyz素材取除,從卡組上翻3張卡,其中本家卡變成此卡素材,剩下的卡回到卡組。
雖然Insert函數(shù)很容易被理解為String.Insert方法,但是我這里是Python的List.Insert方法,用于在表單里插入數(shù)據(jù),數(shù)據(jù)類型(鍵--值)不限。①效場(chǎng)上插入?yún)?shù),②效xyz怪插入庫(kù)存。注意②效果可以用本家魔陷當(dāng)素材。

情導(dǎo)愛(ài)侶 埃羅爾
①:在場(chǎng)上被當(dāng)做效果對(duì)象時(shí),以自己墓地1只水屬性本家怪為對(duì)象,那只怪獸特召。
②:有這張卡作為xyz素材的本家xyz怪獸獲得一下效果:
●:對(duì)方效果發(fā)動(dòng)時(shí),把包含“情導(dǎo)愛(ài)侶 埃羅爾”在內(nèi)的2個(gè)xyz素材取除,無(wú)效那個(gè)效果。
Error是Lua里的報(bào)錯(cuò)函數(shù),所以②效果也是一個(gè)報(bào)錯(cuò)程式,會(huì)給本家xyz怪獸很有力的效果。
下面該說(shuō)說(shuō)要作為終端的xyz怪獸了。他們?nèi)枪鈱傩裕?階,?/?怪獸。

情導(dǎo)愛(ài)侶 模范培訓(xùn)班
1星本家怪獸x2只以上。
①:攻守上升xyz素材數(shù)x400。
②:回合結(jié)束時(shí)取一個(gè)素材才能發(fā)動(dòng),手卡一張本家卡在這張卡下面做素材。
模范培訓(xùn)班?- 模特課程 - Model Class - 模型類 四關(guān)?。。?! 在面向?qū)ο笳Z(yǔ)言中,尤其C++,類的作用不可小覷,類里面可以定義數(shù)種方法,當(dāng)滿足條件時(shí),可以隨時(shí)調(diào)用這些方法,這就是為什么要這么設(shè)計(jì)超量怪獸的原因了,都是類里面的方法賦予了類的靈魂?。?br/>

情導(dǎo)愛(ài)侶 烤肉宴臺(tái)
1星本家怪獸x3只以上。
①:攻守上升xyz素材數(shù)x600。
②:這張卡沒(méi)超量素材的場(chǎng)合,自己·對(duì)方主要階段時(shí)可以從ex卡組把一個(gè)本家黑怪在此卡上面疊放作為超量召喚。
③:作為xyz素材被拔時(shí),檢索1張本家卡,然后此卡回到ex卡組。
烤肉宴臺(tái)→ Luau Table, 形近 Lua Table,是指Lua 里的Table類型,即為表類型,因?yàn)長(zhǎng)ua語(yǔ)言簡(jiǎn)潔,沒(méi)有類這種面相對(duì)象專用的東西,但是仍然可以用Table來(lái)模擬和類一樣的效果,甚至更方便運(yùn)用,值得一試哦。
xyz素材目前就想到了這兩個(gè),做一個(gè)link素材來(lái)補(bǔ)補(bǔ)吧,畢竟新大師了嘛,愛(ài)侶們的生活也不總能一帆風(fēng)順。

情導(dǎo)愛(ài)侶 繁復(fù)修羅場(chǎng) link2 1000攻擊 暗屬性
連接怪獸以外的本家怪獸2只。
①:連接召喚成功時(shí),檢索本家場(chǎng)地(本家場(chǎng)地沒(méi)字段)。
②:此卡可當(dāng)做1星怪獸疊放。
③:此卡作為xyz素材被取除的場(chǎng)合,選墓地1只水屬性本家卡才能發(fā)動(dòng),讓只水屬性怪獸視為剛剛被本家xyz怪獸作為xyz素材取除。
繁復(fù)修羅場(chǎng) → Compounded State →?Compounded Statement → 復(fù)合語(yǔ)句,通常是指兩個(gè)以上的語(yǔ)句組成(比如兩個(gè)方法,在卡里正如兩個(gè)男生一樣),在調(diào)用時(shí)仍然會(huì)正常按順序調(diào)用,只不過(guò)封裝地好看一點(diǎn)就是了(③效果緣由),解釋一下③效果:這張卡作為xyz素材取除后,另開(kāi)連鎖,選墓地一只水屬性本家,當(dāng)作那只怪獸被作為xyz素材取除,然后再另開(kāi)連鎖,處理那只水屬性怪獸的“作為xyz素材被取除的場(chǎng)合...”的效果。
卡圖是Print和Error在搶String參數(shù),在lua里,Print一般接收String參數(shù),Error只能接受String參數(shù)……(當(dāng)然,不接受就是Nil)
那你可能就會(huì)問(wèn)了,本家場(chǎng)地時(shí)什么呢,下面就介紹場(chǎng)地吧。為了雙關(guān)也太中二了一點(diǎn)。

愛(ài)之誠(chéng)摯的具象化
①一回合一次:自己場(chǎng)上沒(méi)怪時(shí)檢索本家怪獸。
②:以自己場(chǎng)上本家怪獸為對(duì)象才能發(fā)動(dòng),從手卡特招一個(gè)跟對(duì)象怪獸屬性不同的本家怪獸。
③:自己場(chǎng)上表側(cè)表示的本家魔陷被破壞送去墓地的場(chǎng)合發(fā)動(dòng),以自己場(chǎng)上1只本家怪獸才能發(fā)動(dòng),如果那個(gè)怪獸是xyz怪獸,則那張魔陷作為xyz素材補(bǔ)充進(jìn)去。
④:自己結(jié)束階段必發(fā):手卡一只本家怪在自己場(chǎng)上本家xyz怪下面疊放,否則此卡除外。
這張卡的英文名打算就寫(xiě)成三個(gè)字母:IDE ,但是讀音是Incarnate Dearness Earnestness,IDE就是集成開(kāi)發(fā)環(huán)境了,也就是我們一般編程的工作平臺(tái),自然是要充當(dāng)場(chǎng)地魔法卡的職位啦~不過(guò)沒(méi)字段是挺煩人的。
那么你可能又會(huì)問(wèn)了,擁有本家字段的魔陷又是什么樣呢?這些魔陷都是流程處理語(yǔ)句,在編程語(yǔ)言里的作用就是控制語(yǔ)句的走向。它們都有一個(gè)共通的效果:作為xyz素材被拔的場(chǎng)合,可以在自己場(chǎng)上蓋放。

情導(dǎo)愛(ài)侶的永恒誓言 -For Ever- 永續(xù)陷阱
同名卡只能在自己場(chǎng)上表側(cè)表示有1張存在。
①:本家xyz怪獸拔素材的場(chǎng)合發(fā)動(dòng),這張卡上面放一個(gè)計(jì)數(shù)指示物,最多4個(gè)。
②:以自己場(chǎng)上1只本家怪獸為對(duì)象發(fā)動(dòng),這張卡破壞,如果作為對(duì)象的卡是xyz怪獸,可以把破壞前這張卡的計(jì)數(shù)指示物個(gè)數(shù)的卡從自己卡組上面翻開(kāi),那之中的本家卡疊在那個(gè)xyz怪獸下面作為xyz素材,剩下的卡返回卡組。
③:作為xyz素材被拔的場(chǎng)合,可以在自己場(chǎng)上蓋放。
For語(yǔ)句 - 循環(huán)處理語(yǔ)句,每次循環(huán)處理,計(jì)數(shù)器都要加1,直到到達(dá)所設(shè)定的上限為止(這里是4),因?yàn)閹缀蹼x不開(kāi)int類型,所以伊蒂吉在卡圖上面。

情導(dǎo)愛(ài)侶的偶像幻想 -Idol Fancy- 永續(xù)魔法
同名卡只能在自己場(chǎng)上表側(cè)表示有1張存在。
①:1回合1次,以場(chǎng)上1張卡為對(duì)象發(fā)動(dòng),擲硬幣。
正面:翻開(kāi)自己卡組上面2張,如果有本家卡,可以檢索一只本家怪獸。
反面:這張卡破壞,那之后,可以把作為對(duì)象的卡也破壞。
②:作為xyz素材被拔的場(chǎng)合,可以在自己場(chǎng)上蓋放。
Idol Fancy 縮寫(xiě)就是 IF - 經(jīng)典的“如果”語(yǔ)句,“如果”語(yǔ)句需要通過(guò)布爾值來(lái)判斷真(true)或假(false)來(lái)走不同的路線,所以卡圖是布爾粼的主場(chǎng),效果也包含了游戲王中三種不同的判斷方式。(硬幣,如果,可以)。注:可以以自己為對(duì)象

情導(dǎo)愛(ài)侶的關(guān)系進(jìn)展 -Go To- 永續(xù)陷阱
同名卡只能在自己場(chǎng)上表側(cè)表示有1張存在。這卡上沒(méi)有計(jì)數(shù)指示物則破壞。
①:以場(chǎng)上1只怪獸為對(duì)象發(fā)動(dòng),這張卡放置1個(gè)計(jì)數(shù)指示物。
②:只要有計(jì)數(shù)指示物的這張卡存在,那只怪獸不能攻擊。
③:這張卡被破壞的場(chǎng)合,作為對(duì)象的怪獸的攻擊力變?yōu)?倍。
④:作為xyz素材被拔的場(chǎng)合,可以在自己場(chǎng)上蓋放。
這張卡很微妙,Goto語(yǔ)句是直接跳躍到某一條語(yǔ)句的一個(gè)語(yǔ)句,對(duì)于作為電子界族的情導(dǎo)愛(ài)侶們來(lái)講,是不是相當(dāng)于穿越了時(shí)空?不能攻擊相當(dāng)于消失了,等某個(gè)時(shí)刻之后,突然帶著2倍的攻擊力出現(xiàn)了?。?duì)于愛(ài)侶們來(lái)說(shuō),也可能相當(dāng)于一個(gè)瓶頸期,這段時(shí)間不能攻擊很難受,但是瓶頸期已過(guò),感情將成倍增長(zhǎng)。順便一說(shuō),這卡也可以指對(duì)方的怪。

情導(dǎo)愛(ài)侶的施法開(kāi)關(guān) -Case Switch- 永續(xù)陷阱
同名卡只能在自己場(chǎng)上表側(cè)表示有1張存在。
①:發(fā)動(dòng)時(shí),這張卡上放置指示物,數(shù)量為自己所有xyz素材的數(shù)量。
②:根據(jù)指示物數(shù)量得到以下效果:
●:1個(gè)以下:此卡破壞。
●:2個(gè)以上:自己全場(chǎng)攻守上升400。
●:4個(gè)以上:對(duì)方不能發(fā)手坑。
●:6個(gè)以上,對(duì)方場(chǎng)上表側(cè)表示的魔法卡無(wú)效。
③:每個(gè)回合結(jié)束時(shí)必發(fā),這張卡上的計(jì)數(shù)指示物變?yōu)樽约核衳yz素材的數(shù)量。
④:作為xyz素材被拔的場(chǎng)合,可以在自己場(chǎng)上蓋放。
施法開(kāi)關(guān)→Case Switch。Switch 和 Case 是一個(gè)多向判斷的語(yǔ)句,用于判斷可能出現(xiàn)的多個(gè)條件,比如這張卡的②效果??▓D中就是一個(gè)施放愛(ài)情魔法的按鈕,怎么會(huì)有人信這玩意,我們都用魔杖的。

情導(dǎo)愛(ài)侶的芳心試獲 -Try Catch- 反擊陷阱
①:陷阱卡發(fā)動(dòng)時(shí),以自己場(chǎng)上一本家怪獸為對(duì)象發(fā)動(dòng)。那個(gè)陷阱卡發(fā)動(dòng)無(wú)效并破壞,這張卡當(dāng)作代破用的裝備卡給那只怪獸裝備。
②:作為xyz素材被拔的場(chǎng)合,可以在自己場(chǎng)上蓋放。
Try和Catch是Java里常用的一組捕獲異常的語(yǔ)句,異常則為“對(duì)方發(fā)動(dòng)陷阱卡來(lái)干擾展開(kāi)”,那么既然要捕獲,自然是要康掉啦~ 卡圖里是Convert給Nil打傘,保護(hù)傘頗有代破的意味哦,至于他倆成沒(méi)成,反正他倆都不是在同一個(gè)編程語(yǔ)言里,誰(shuí)知道呢。對(duì)了,你也可以康你自己的陷阱卡。

情導(dǎo)愛(ài)侶的感情分裂 -Break Up- 永續(xù)陷阱
同名卡只能在自己場(chǎng)上表側(cè)表示有1張存在。
①:發(fā)動(dòng)時(shí)處理,愚埋1本家怪獸。
②:自己場(chǎng)上有炎·水兩個(gè)屬性的本家怪獸的場(chǎng)合,以場(chǎng)上1張卡為對(duì)象(這張卡以外)才能發(fā)動(dòng):這張卡和那張卡破壞。
③:作為xyz素材被拔的場(chǎng)合,可以在自己場(chǎng)上蓋放。
Break是用于跳出某一句For循環(huán)的操作,通常是進(jìn)行了判斷,到達(dá)目的或者遭遇故障才會(huì)選擇跳出,而圖中是埃羅爾,說(shuō)明程序遭遇了故障,埃羅爾拒絕了尼爾,那么說(shuō)明Error函數(shù)不想讓Nil當(dāng)參數(shù),那么只能用String當(dāng)參數(shù),說(shuō)明這個(gè)程序嘗試發(fā)現(xiàn)故障信息(也就是說(shuō)埃羅爾因?yàn)榭瓷纤嫉铝斩涯釥査α耍?。效果也是,愚埋(表示心里有這個(gè)人),一男,一女,破壞。簡(jiǎn)單粗暴。

情導(dǎo)愛(ài)侶的延續(xù) -Continue-?永續(xù)魔法
同名卡只能在自己場(chǎng)上表側(cè)表示有1張存在。
①:發(fā)動(dòng)時(shí),從以下效果選一個(gè):
●:這張卡放置1個(gè)計(jì)數(shù)指示物。
●:從卡組·墓地拿一張本家場(chǎng)地
②:有計(jì)數(shù)指示物的這張卡存在的場(chǎng)合,自己1星的本家怪獸效果不會(huì)被無(wú)效。
③:這張卡沒(méi)有技術(shù)指示物則破壞。
④:作為xyz素材被拔的場(chǎng)合,可以在自己場(chǎng)上蓋放。
Continue語(yǔ)句,用于跳出一次循環(huán),執(zhí)行下一次循環(huán),和Break的區(qū)別就是Break它全跳出去了,Continue頗有放棄這次機(jī)會(huì),等下一次機(jī)會(huì)的感覺(jué),所以拿場(chǎng)地,可能是要再等一波重新展開(kāi),至于不會(huì)被無(wú)效則是看卡圖說(shuō)話了,這么和諧美滿,你忍心破壞嗎。(雖然卡圖上的伊蒂吉可以拔這張卡的指示物特招,然后這張卡破壞。) 注:這張卡發(fā)動(dòng)時(shí)如果選擇拿場(chǎng)地,那么效果處理后就會(huì)立即破壞(因?yàn)闆](méi)有計(jì)數(shù)指示物)

到這里,我們可愛(ài)的情導(dǎo)愛(ài)侶系列就到此結(jié)束了,覺(jué)得太強(qiáng)?禁卡表伺候,覺(jué)得太弱?后續(xù)補(bǔ)強(qiáng)。反正K社沒(méi)準(zhǔn)也是這么干的,這次我是稍微達(dá)到了一個(gè)“原創(chuàng)”水平來(lái)DIY的,希望K社能多多發(fā)明這種xyz素材提供額外效果的卡!
謝謝大家看到這里~歡迎提建議哦