卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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

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

網(wǎng)友解答:

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

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

代碼原理

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

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

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

代碼含義

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

所以,企鵝再從大家可以理解的角度,解讀一下其中部分代碼的含義。

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

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

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

總結(jié)

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

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

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

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

網(wǎng)友解答:

這個問題問得好!

好久沒有看到這么有趣的問題了,來答一個。

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

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

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

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

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

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

最后再來一套狂野臟牧的代碼:##AAEBAa0GFB7cAfIFuQaNCNMK1wqCtQLovwLqvwLZwQLfxALTxQKJzQLwzwL86gLy7AL38wKXhwPmiAMFkAK1uwK6uwLL5gLoiQMA # #

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

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

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

一套宇宙卡組:

AAEBAa0GHgiGAdMBmwPIBfEFlw3aE/msAsmvArW7Aui/AqDBAprCAuPCAsjHApnIAubMAonNAujQAubTAuPpAvHqAtfrAsPsAvLsAo7uAouAA9uJA+uKAwAA # #

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

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

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

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

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

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

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

是否重復(fù),被代碼自動分為兩段(前面為單張,后面為兩張。這個沒有列代碼,)

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

據(jù)說編碼方式是: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 };

......

然后就沒啥了...

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

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

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

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

就是這樣啦,回答完畢。

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

溜了溜了。

標(biāo)簽: