【思路】免窮舉網(wǎng)易我的世界可選、可多人同時(shí)使用的雪球互相傳送
???????????



好,做一個(gè)互傳,但現(xiàn)在我們的思路是白茫茫的一片,我們得想想,互傳的原理是什么,無非就是,把一個(gè)人傳送到另一個(gè)人,思路結(jié)束,隨后思考傳送由誰發(fā)起,由誰接受,確定好了之后,互傳不就有了嗎,執(zhí)行把發(fā)起者傳送到接收者就結(jié)束了。我想你已經(jīng)會(huì)做了
【申明】? ?
????????此為網(wǎng)易版
????????計(jì)分板snow設(shè)置為執(zhí)行扔雪球后加分,平常為0,在執(zhí)行選擇玩家時(shí)可以到
????????????????10、11、12、13、14、15、16、17、18、19、20【10用于發(fā)起一次執(zhí)行,使ID重新分配最新ID】
????????計(jì)分板ID執(zhí)行分配ID,如我分配10人玩家依次為1、2、3、4、5、6、7、8、9、10
????????計(jì)分板項(xiàng)目直接跟數(shù)字表示分?jǐn)?shù),如snow10,表示計(jì)分板snow,分?jǐn)?shù)10;
????????????????按照玩家的使用習(xí)慣區(qū)分抬頭為【確認(rèn)】,低頭為【拒絕】,
???????????

?

????????【拿該如何將自己與對方聯(lián)系起來呢?】
?
?
????????【計(jì)分板snow11..20代表執(zhí)行發(fā)起傳送的玩家,以下簡稱【發(fā)起】】
????????【計(jì)分板ID1..10代表接受傳送的玩家,以下簡稱【接受】】

????????當(dāng)【接受】于snow10處執(zhí)行分配ID(即,刷新功能),從snow11開始對應(yīng)ID1,snow12對應(yīng)ID2,以此類推。。。。。。我們即可得到一種映射狀態(tài),
????????在數(shù)學(xué)里,映射是個(gè)術(shù)語,指兩個(gè)元素的集之間元素相互“對應(yīng)”的關(guān)系,為名詞。映射,或者射影

(引用:百度百科詞條解釋)
????????這樣,我們就可以將【發(fā)起】與服務(wù)器的每一位玩家創(chuàng)建起聯(lián)系,通過扔雪球進(jìn)行【接受】的選擇;舉個(gè)例子,當(dāng)我們【發(fā)起】通過雪球移動(dòng)到snow11時(shí),我們進(jìn)行的抬頭,低頭一系列的視角移動(dòng)即可通過選擇器(rx,rxm,ry,rym)進(jìn)行檢測,以達(dá)到我們【發(fā)起】要通知對方的意圖,此時(shí)【接受】即可操作對方的傳送請求。


??? ?????【問題解疑】
????????? 同時(shí),新的問題又誕生了,如何防止串線呢?
????????????????? 即【發(fā)起】發(fā)起傳送后,有另一名玩家進(jìn)入了接受系統(tǒng),想要截胡【發(fā)起】的傳送,但這是不現(xiàn)實(shí)的,在snow與ID建立映射(一對一)的情況下,ID與sonw也同時(shí)建立了(一對一)鏈接;我們再舉個(gè)例子,也就是說,我們設(shè)計(jì)的傳送功能在snow11發(fā)起后,只能由ID1來接受,杜絕了截胡的風(fēng)險(xiǎn)。

????????? 如何防止ID1【第三者,滑稽】在【發(fā)起】想要到達(dá)snow12狀態(tài)下發(fā)起傳送至ID2【接受】不被截胡呢?
????????????????? 我們可以設(shè)置【發(fā)起】在選擇【接受】時(shí),增加一個(gè)標(biāo)簽,那在什么情況下增加標(biāo)簽?zāi)???dāng)然是在【發(fā)起】抬頭時(shí)增加標(biāo)簽,此時(shí)標(biāo)簽就表示【發(fā)起】已選定,在【發(fā)起】已選定后【接受】才會(huì)有效果即可


??????? ??【部分功能指令】

????????????????分配ID:
scoreboard objectives add ID dummy/*激活一次*/
scoreboard players set @a ID -1/*循環(huán),無條件,保持開啟*/
scoreboard players operation @a[scores={ID=-1}] ID -= @a ID/*連鎖,有條件,保持開啟*/
#負(fù)負(fù)得正分配ID
/*上述三條指令可以達(dá)到從0分配至最大人數(shù)減1*/
execute @a[scores={ID=0}] ~~~ scoreboard?piayers add @a ID 1/*連鎖,有條件,保持開啟*/
/*第四條指令可以讓ID從1分配至最大人數(shù)*/
????????

????????????????顯示指令,
titleraw @a title/subtitle/actionbar {"rawtext":[{"text":"文本"}]}
json有score-selector-text-translate(以及配套使用的with)

????????????????顯示所有人
execute @a[scores={snow=10}] ~~~ title @s actionbar
§6抬頭刷新,請?jiān)谒⑿潞笫褂?/strong>
§7????? §3 @a[scores={ID=1}]
§7????? §3 @a[scores={ID=2}]
§7????? §3 @a[scores={ID=3}]
§7????? §3 @a[scores={ID=4}]
§7????? §3 @a[scores={ID=5}]
§7????? §3 @a[scores={ID=6}]
§7????? §3 @a[scores={ID=7}]
§7????? §3 @a[scores={ID=8}]
§7????? §3 @a[scores={ID=9}]
§7????? §3 @a[scores={ID=10}]
/*循環(huán),無條件,保持開啟*/
?

????????????????文本顏色有
§0 黑 #000000-§1 深藍(lán) #000054-§2 綠 #005400-§3 碧綠 #005454-
§4 紅 #540000-§5 粉 #540054-§6 橙 #7F5400-§7 灰 #545454-
§8 深灰 #2A2A2A-§9 淡藍(lán) #2A2A7F等等
?

?
