成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

爐石傳說(shuō)卡組代碼是什么原理?代碼是如何對(duì)應(yīng)卡牌的?

網(wǎng)友解答: 這里企鵝,從南極第一線為你解答早在兩年以前,爐石傳說(shuō)上線了全新的卡組代碼。從那時(shí)起,爐石玩家便有了一個(gè)極其方便的分享卡組的方法。當(dāng)然,卡組代碼方便我們的同時(shí),也有很多人好奇,

網(wǎng)友解答:

這里企鵝,從南極第一線為你解答

早在兩年以前,爐石傳說(shuō)上線了全新的卡組代碼。從那時(shí)起,爐石玩家便有了一個(gè)極其方便的分享卡組的方法。當(dāng)然,卡組代碼方便我們的同時(shí),也有很多人好奇,卡組代碼是如何生成并且準(zhǔn)確識(shí)別的。由于其中涉及復(fù)雜的計(jì)算機(jī)知識(shí),所以企鵝會(huì)盡量通俗的解釋一下,卡組代碼蘊(yùn)含的意義。

代碼原理

首先,你需要理解最關(guān)鍵的兩點(diǎn),爐石傳說(shuō)的代碼在計(jì)算機(jī)編程的角度來(lái)說(shuō),屬于Base64代碼,這個(gè)代碼有一個(gè)最為明顯的特征,即你復(fù)制的代碼中,以=或者==作為結(jié)尾,代表這個(gè)代碼的結(jié)束。

另外一點(diǎn)則是作為標(biāo)識(shí)符的DBF ID,這個(gè)你可以理解為,爐石傳說(shuō)中的獨(dú)有表示系統(tǒng)。簡(jiǎn)單的解釋來(lái)說(shuō),就是每一張卡牌都被這個(gè)ID按順序進(jìn)行了標(biāo)記,早在爐石傳說(shuō)開(kāi)發(fā)之初就已經(jīng)有了這個(gè)標(biāo)記方式,只不過(guò)在爐石傳說(shuō)上線卡組代碼的系統(tǒng)時(shí),這些ID就被官方開(kāi)源了,才被眾人所知曉。其實(shí)如果你有一定的計(jì)算機(jī)基礎(chǔ),挖掘爐石傳說(shuō)的源文件時(shí),你就可以發(fā)現(xiàn)這些代碼了。正是因?yàn)橛许樞虻臉?biāo)記,才讓爐石傳說(shuō)每一張卡牌都有準(zhǔn)確的描述以及配圖,所以你可以看到如果不人為修改的話,爐石傳說(shuō)是不會(huì)有卡牌描述上面的錯(cuò)亂的。

說(shuō)完這兩個(gè)關(guān)鍵點(diǎn),我們深入代碼來(lái)了解一下具體含義。

代碼含義

通過(guò)上文的解釋,我們得知了兩個(gè)信息:代碼是被獨(dú)立出來(lái)進(jìn)行識(shí)別的,每一張卡牌都有對(duì)應(yīng)的ID便于區(qū)分。

所以,企鵝再?gòu)拇蠹铱梢岳斫獾慕嵌?,解讀一下其中部分代碼的含義。

首先是開(kāi)頭部分,前四個(gè)字母代表了這套卡組所屬的模式,即AAEC為標(biāo)準(zhǔn)卡組,AAEB為狂野卡組。這個(gè)是單純從表面可以看出來(lái)的。

至于后面的一大串,當(dāng)然是具體的卡牌了。不過(guò)為了簡(jiǎn)化以便于處理,這里的代碼是經(jīng)過(guò)base64代碼進(jìn)行二次轉(zhuǎn)換過(guò)的。換句話說(shuō),如果你想看到其中的具體ID的話,你可以下載一個(gè)base64代碼的轉(zhuǎn)換工具(或者叫解碼工具)把卡組代碼放進(jìn)去,這樣你就可以看見(jiàn)具體的代碼了。

當(dāng)然,企鵝在上面說(shuō)了,這是進(jìn)行二次轉(zhuǎn)換的代碼。如果再詳細(xì)的想知道卡牌的ID,這里就涉及一個(gè)新的varint代碼了。這個(gè)代碼并不是屬于加密那種的代碼,而是對(duì)卡組進(jìn)行更為詳細(xì)的區(qū)分,舉個(gè)例子,相同名稱的卡牌使用了多少?gòu)?,你選用的職業(yè)是誰(shuí),這個(gè)版本的版本號(hào),以及所屬的模式(上文說(shuō)的標(biāo)準(zhǔn)或者狂野模式就是用這個(gè)代碼區(qū)分的)等等。這些是卡組代碼必須要有的內(nèi)容,否則系統(tǒng)會(huì)不予識(shí)別。

總結(jié)

所以,企鵝在這里再次總結(jié)一下上文所說(shuō)的關(guān)鍵點(diǎn)。

一個(gè)卡組代碼里面包含三個(gè)要素:base64代碼,用于獨(dú)立以及加密。varint代碼,用于卡組的識(shí)別以及分類。DBF ID,用于標(biāo)記每一張卡牌。

通過(guò)這三個(gè)要素,游戲才能識(shí)別這個(gè)代碼屬于哪個(gè)職業(yè),哪個(gè)模式以及用了多少?gòu)埵裁纯ㄅ?。因此,卡組代碼中的每一個(gè)字符都是不可或缺的,正是工程師的智慧和努力,才能讓每一套卡組有了自己的名字和意義,讓每個(gè)玩家都有機(jī)會(huì)分享自己的成果。

我是企鵝,如果回答對(duì)你有所幫助,記得點(diǎn)個(gè)關(guān)注哦:)

網(wǎng)友解答:

這個(gè)問(wèn)題問(wèn)得好!

好久沒(méi)有看到這么有趣的問(wèn)題了,來(lái)答一個(gè)。

首先,我也算半個(gè)程序員,對(duì)于這類游戲和代碼問(wèn)題(可惜我并不是游戲開(kāi)發(fā)),雖然真正的原理,還需要爐石設(shè)計(jì)師來(lái)答~

嘛,剛剛好也有興趣,來(lái)嘗試著探討一下。如果有其他開(kāi)發(fā)大神,也請(qǐng)賜教。

首先,我們找一個(gè)切入點(diǎn)以小見(jiàn)大,那就是威茲班。

### 神奇的威茲班 # 職業(yè):獵人 # 模式:標(biāo)準(zhǔn)模式 # 渡鴉年 # # 1x (4) 神奇的威茲班 # AAECAR8BrYoDAAA= # #

威茲班的代碼就是上面這個(gè),但好像意義不大。

然后再看一套標(biāo)準(zhǔn)的垃圾元素法:##AAECAf0EDk1xigG7AtAClgXsB8LDAsrDAsbHApvTAs7yAqCAA6iHAwjJA6sEwsEC68ICx8cCltMCluQCyYcDAA== # #

最后再來(lái)一套狂野臟牧的代碼:##AAEBAa0GFB7cAfIFuQaNCNMK1wqCtQLovwLqvwLZwQLfxALTxQKJzQLwzwL86gLy7AL38wKXhwPmiAMFkAK1uwK6uwLL5gLoiQMA # #

但似乎還有一點(diǎn)問(wèn)題,所以又必須再組一套專用卡組。

代碼是:### 自定義 牧師3 # 職業(yè):牧師 # 模式:狂野模式 # # AAEBAa0GDNMBmwPJrwLovwKawgLjwgLmzAKJzQLx6gLy7AKO7gKihwMJCPmsArW7ApnIAujQAubTAuPpAouAA+uKAwA= # #

這一套和上面的狂野臟牧的四張一費(fèi)卡相同,其他的卡牌全都是7費(fèi)以上湊數(shù)卡。

一套宇宙卡組:

AAEBAa0GHgiGAdMBmwPIBfEFlw3aE/msAsmvArW7Aui/AqDBAprCAuPCAsjHApnIAubMAonNAujQAubTAuPpAvHqAtfrAsPsAvLsAo7uAouAA9uJA+uKAwAA # #

一套全重復(fù)卡組:AAEBAf0EAA+sAbQElgW8CIkPh6wC67oChLsCnNMC7tMC1eECluQCuf8CyIcDzYkDAA== # # 想要使用這副套牌,請(qǐng)先復(fù)制到剪貼板,然后在游戲中點(diǎn)擊“新套牌”進(jìn)行粘貼。

咳咳,就現(xiàn)在這點(diǎn)東西(我自己測(cè)驗(yàn)了半個(gè)小時(shí)),只能看出幾個(gè)點(diǎn)。

卡牌肯定是以字母小寫(xiě),大寫(xiě),數(shù)字的組合來(lái)代替,每套卡組代碼約莫100左右,也就是每張牌3個(gè)或者4個(gè)代碼代替。

AAEBA和AAECA,分別是狂野和標(biāo)準(zhǔn)卡牌。

此外,前三個(gè)字符代表著職業(yè),法師f0e,牧師a0g

卡牌代碼順序,并不以費(fèi)用為準(zhǔn),可能是以擴(kuò)展包前后時(shí)間為準(zhǔn),emmm,卡牌有自己的數(shù)組,或許是升序~

不同的牌,其信息跟擴(kuò)展包掛鉤。

是否重復(fù),被代碼自動(dòng)分為兩段(前面為單張,后面為兩張。這個(gè)沒(méi)有列代碼,)

最后是最重要的一點(diǎn),加密和解析!加密方法應(yīng)該是base64位的加密??ㄅ票旧碇挥袃扇齻€(gè)字符表示。

據(jù)說(shuō)編碼方式是:import {encode, decode} from "deckstrings"; const deck = { cards: [[1, 3], [2, 3], [3, 3], [4, 3]], // [dbfid, count] pairs heroes: [7], // Garrosh Hellscream format: 1, // 1 for Wild, 2 for Standard };

......

然后就沒(méi)啥了...

實(shí)際上,我們看到的代碼,是進(jìn)行編譯以后的結(jié)果,只有在爐石代碼的某個(gè)方法解析之后才能清楚的看到原編碼。

解碼似乎是.net做的,但我并沒(méi)有HearthDB~或許爐石文件夾有,就不去測(cè)試了。

說(shuō)難呢,也不難,就是把卡牌分組排列,獲取卡牌數(shù)據(jù)庫(kù)的key(也可能其他是專屬唯一的代號(hào)),排序,加密,輸出。

在復(fù)制的時(shí)候,先確認(rèn)卡組正常與否(我試著改了幾個(gè)字母,出現(xiàn)了“不適合這個(gè)模式”的提醒,說(shuō)明什么?說(shuō)明還有一些“隱藏”卡牌,比如冒險(xiǎn)模式,衍生...),根據(jù)數(shù)據(jù)填充,展示卡組...

就是這樣啦,回答完畢。

說(shuō)個(gè)題外話,從這件事,我發(fā)現(xiàn)...爐石竟然監(jiān)控我的復(fù)制剪切板!天哪~

溜了溜了。

標(biāo)簽: