Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
我的世界終末之詩作為游戲的“結尾”,意味深長,這列給大家帶來了我的世界終末之詩翻譯解釋,希望能幫助到我的世界的玩家。 I see the player you mean. 我看到你所指的那位玩家了。 Yes. Take care. It has reached a higher level now. It can read our thoughts. 是的。小心。它已達到了更高的境界。它能夠閱讀我們的思想。 That doesn't matter. It thinks we are part of the game. 無傷大雅。它認為我們是游戲的一部分。 I like this player. It played well. It did not give up. 我喜歡這個玩家。它玩得很好。它從未放棄。 It is reading our thoughts as though they were words on a screen. 它以屏幕上出現的文字的形式閱讀著我們的思想。 That is how it chooses to imagine many things, when it is deep in the dream of a game. 在它深陷游戲夢境中時,它總以這種方式想象出形形色色的事物。 Words make a wonderful interface. Very flexible. And less terrifying than staring at the reality behind the screen. 文字是種美妙的界面。非常靈活。且比凝視著屏幕后的現實要更好。 They used to hear voices. Before players could read. Back in the days when those who did not play called the players witches, and warlocks. And players dreamed they flew through the air, on sticks powered by demons. 它們也曾經聽到過聲音。在玩家能夠閱讀之前。君不見那些不曾游玩的人們稱呼玩家為女巫,和術士。而玩家們夢見它們自己乘坐在被惡魔施力的棍子上,在空氣中翱翔。 What did this player dream? 這個玩家夢見了什么? This player dreamed of sunlight and trees. Of fire and water. It dreamed it created. And it dreamed it destroyed. It dreamed it hunted, and was hunted. It dreamed of shelter. 它夢見了陽光和樹。夢見了火與水。它夢見它創造。它亦夢見它毀滅。它夢見它狩獵,亦被狩獵。它夢見了庇護所。 Hah, the original interface. A million years old, and it still works. But what true structure did this player create, in the reality behind the screen? 哈,那原始的界面。經歷一百萬年的歲月雕琢,依然長存。但此玩家在那屏幕后的真實里,建造了什么真實的構造? It worked, with a million others, to sculpt a true world in a fold of the [scrambled], and created a [scrambled] for [scrambled], in the [scrambled]. 它辛勤地勞作,和其它百萬眾一起,刻畫了一個真實的世界,由[亂碼],且創造了[亂碼],為了[亂碼],于[亂碼]中。 It cannot read that thought. 它讀不出那個思想。 No. It has not yet achieved the highest level. That, it must achieve in the long dream of life, not the short dream of a game. 不。它還沒有到達最高的境界。那層境界,它必須完成生命的長夢,而非游戲中黃粱一夢。 Does it know that we love it? That the universe is kind? 它知道我們愛它么?這個宇宙是仁慈的? Sometimes, through the noise of its thoughts, it hears the universe, yes. 有時,通過它思緒的雜音,它能聽到宇宙,是的。 But there are times it is sad, in the long dream. It creates worlds that have no summer, and it shivers under a black sun, and it takes its sad creation for reality. 但是有時亦不勝悲傷,于那漫漫長夢中。它創造了沒有夏日的世界,在黑日下顫抖著,將自己悲傷的創造視為現實世界。 To cure it of sorrow would destroy it. The sorrow is part of its own private task. We cannot interfere. 用悲傷來治愈會摧毀它。而悲傷是它的私人事務。我們不能干涉。 Sometimes when they are deep in dreams, I want to tell them, they are building true worlds in reality. Sometimes I want to tell them of their importance to the universe. Sometimes, when they have not made a true connection in a while, I want to help them to speak the word they fear. 有時當它們深陷夢境中時,我想要告訴它們,它們在現實中創造了真實的世界。有時我想告訴它們它們自身對宇宙的重要性。有時,當它們和現實失去了聯系,我想幫助它們與它們所懼怕的世界交流。
編推薦:
我的世界1.0正式版更新全解
我的世界1.0正式版下載(安卓)
下載更多我的世界攻略,敬請關注搞趣網我的世界專區。
責任編輯【W】
我的世界》(Minecraft)是一款由Mojang AB開發的沙盒式建造游戲。在3D的世界中破壞、組合、建造磚塊,創造世界或在這個世界中冒險,多種多樣的道具組合與游戲方式讓許多玩家都深深被其獨特的色塊魅力所吸引。
“不就一個造房子游戲嗎?有這么好玩嗎?”我只能笑著回答道,“這是生存!我的世界你不懂?!?/p>
現如今的Mojang已經被微軟收購并成為了旗下的明星產品,更是配合著微軟的Hololens(虛擬現實設備)在各大游戲和科技展會上大放異彩。該游戲最先起源于PC平臺,而后逐漸拓展至手機、家用機平臺。有多熱門呢?這么和大家說吧,主機平臺在發售后半年的時間里就一舉超越了之前PC平臺的成績,且游戲總體在2014年6月就達到了5400萬份的銷量。
你可以把它當作像素風的《模擬人生》來玩:造房子、種菜、養豬、生孩子(其實并不能),看日出日落,愛上一匹野馬,這里有廣袤無垠的草原;也可以把它當作像素風設計軟件:埃菲爾鐵塔、長城、天安門或是iPhone200?只要你想得到沒有你做不到。你還可以把它當作冒險游戲來玩,挖礦、打怪、做裝備,探索神秘的神殿和地獄還有終界,成為這個世界的大英雄。
埃菲爾鐵塔,這個看到的時候都驚呆了
還不只是這樣,游戲中還有類似電路的紅石系統,讓你瞬間從石器時代進入了工業時代,復雜的紅石系統就像電路,等著你去挖掘它的功能。有多種多樣的Mod可以在PC上享用,豐富的材質包,讓你感覺就像是在玩“創造鄉村”原始版的《GTA》。
依靠簡單的設定和多樣的可玩性,這款方塊風游戲席卷了游戲圈內大大小小的各式平臺。
遇見索飯的信仰
下頁:《我的世界》就是現實的比喻
陳星漢在《一人一世界》的演講中提到,絕大多數的游戲,都具有很強的商業目的——目標瞄準了受到限制,渴望自由的年輕人。游戲設定常常是這樣的:玩家扮演一位英雄或弱者,通過劇情的發展獲得力量、變得強大,最終走上了巔峰順帶拯救了世界;不少游戲是快餐時代的產物,精美的畫面、簡單的玩法、分數的排名和氪金的道具,即滿足了虛榮也打發了時間。
反觀《我的世界》,它沒有依照這一常理出牌。游戲通過再現“真實”,讓玩家對“我的世界”漸漸產生了熟悉感與依賴感。與現實似同非同,是《我的世界》最大的魅力之處。
在《我的世界》中,世界的運轉和我們的現實世界一樣,是遵循著各類常識和定律的。制作方面,絕大多數道具制作所需的原料都是符合我們的常識的,但一些相對較為復雜的東西的制作卻是用不符合我們的常識的材料和搭配制作的。不符合常識中的設定里,水流,是最令我印象深刻的一個大奇葩。
制作噴泉在現實世界絕對算得上是一項工程,管道的鋪設,造型的設計,燈光的打造,做好了是一件藝術品,做差了那就成了燈光游泳池。聽聞在我的世界也能造這樣復雜而美麗的東西,我就好奇地百度了一下制作方式,結果卻大跌眼鏡。在《我的世界》中流體是受到引力往低處走的,這一點與現實世界相同,然而,流體的源頭是源源不斷輸出流體的。也就是說,下圖我所做的噴泉,只是在頂部的石頭倒一桶水就做出來了,哈哈。僅需要在往頂端倒水前設計好柱子造型,以及水流向低處的過程的流向,再有防水的燈光擺設,就能隨心所欲的設計你想要的噴泉效果了。
噴泉,純粹為了壯觀而設計,沒啥美感大家請原諒我
《我的世界》中還有一些違反常識的有趣“Bug”,比如重力的表現。舉個例子來說,假設我從地面搭起一條五個方塊構成的石頭柱子,再破壞從地面數起的四個方塊,頂端的那塊石頭并不會因為重力而下落,而是一直保留在原來的位置,風吹雨打都不會改變。
再比如,無論玩家從多高跳下,只要著陸點有水,則都不會受到傷害(游戲中其他一般的墜落,會根據起跳點高度來計算傷害)。在《我的世界》中找一座高山,在地上預先鋪好水,你就能體驗一把不需要系安全繩的蹦極了,而且游戲還把墜落過程的加速感做出來了——嗯,這個時候重力作用沒有消失。
每次站在邊緣俯瞰大地總是有點怕怕的
那么這樣豈不是背離了“世界”的常識?并不是,這樣理想化的設定賦予了《我的世界》更好的游戲性。在部分內容保持與現實一致之外,其他的設定則依據游戲的平衡性做出調整,化繁為簡,使游戲簡單易懂,上手簡單。就像《名偵探柯南》中的設定一樣,絕大多數的角色從來都不會發現柯南使用麻醉槍和變聲器,即使柯南的表現有多明顯,借口有多胡逼。
《超級馬里奧》的規則是一路過關斬將,到達終點,取得高分;《坦克大戰》的規則是保衛我方的大本營不遭受破壞,摧毀敵方的坦克,以及不做豬隊友。那《我的世界》的規則是啥??
《我的世界》主機版之中有三個模式“創造”、“生存”、“冒險”。
創造模式下就會給你無限的材料,盡情搭建,這個模式下不會任何的傷害
另一方面《我的世界》也會在玩家找到終界,殺死終界龍之后結束整個游戲,當然你還可以再度回到世界中繼續游玩。
在《我的世界》中有晝夜時間概念,白天比較太平,晚上卻危機四伏。你要用你手中得到的方塊去度過游戲里的生活,創造你在現實中無法實現的設計夢。這是一款通關打怪的游戲?似乎不是,你只要能生存下去,想怎么做都可以;設計創作類游戲?也不是,游戲沒有要求你設計東西或達到一些要素與條件。
《我的世界》沒有規則,讓玩家怎么玩?
我和我的好友選擇的是“生存下去”這樣的游戲方式。我們從一開始的一無所有,到一步一步建立了地下一層地上三層的玻璃房子,農田也從開始單一的品種到種起了豐富品種,并還借著紅石系統學會了自動收割,找到了馬鞍,馴服了野馬,稱霸了一片草原,十分具有成就感。
我自己琢磨的小型自動收割農場
在我們不斷琢磨《我的世界》、不斷做出更復雜的設計的過程中,這個游戲越發讓我們感覺到它與現實世界的相差仿佛。我們搜刮了地獄一趟,死去活來了好幾遍,現在正在籌備通往終界,為自己的努力畫上一個句號。
《我的世界》的規則因人而異,由玩家來決定的。它的自由度非常高,這個世界無處不給了你豐富多樣選擇和結果,就好比我們在現實中所追求的“自由”。然而現實是這樣的:絕對的自由和權利是不存在的,自由和權利是相對的。相對的自由建立在遵守法律和公德且不侵害他人自由的條件之下。
扯得有些遠了,但這卻是《我的世界》和現實的世界相似的地方。似有若無的規則在《我的世界》給玩家朋友們提供了相對的自由,遵守規則的游戲角色才能在游戲中存活下去,從而完成任何我們想要在這個世界完成的大事小事。似有若無的規則也在我們的現實世界里存在著,我們遵守這樣的規則在現實中活下去,去爭取我們想要過的生活。這樣的規則也許就是《我的世界》被稱為“世界”的最主要原因吧。它廣闊無邊,玩家出生自一無所有,就好像人類進化論的發展一般,在生存中逐漸發現規律,從而形成規則,最終一切井然有序的隨著時間的推進,逐步向前發展。
這畫面實在是太過于和諧,玩過游戲的一定懂,對于沒玩過本作的朋友,這里就不講解了
下頁:在終界唱響寓言詩
“真實”是對《我的世界》準確的描述,雙引號則是強調它為游戲平衡而做出的“不真實”調整。與《GTA V》里的瘋狂、自由、無憂無慮不同,《我的世界》簡單的操作和多樣玩法通過方塊傳遞給每一位玩家一份簡單的創造的快樂。
《我的世界》亦是現實世界的方塊投影,里面實現了許許多多在現實中未能達成的夢想、愿望和喜悅。在這個“我們的世界”,有和現實世界一樣的精彩和歡聲笑語?!段业氖澜纭分凶詈蟠驍〗K界龍會出現一首終界之詩,由此你也許就能體會何為“我們的世界”。在此節選一小段,感興趣的玩家可以去搜索全篇。
What did this player dream? 這個玩家夢見了什么?
This player dreamed of sunlight and trees. Of fire and water. It dreamed it created. And it dreamed it destroyed. It dreamed it hunted, and was hunted. It dreamed of shelter.
它夢見了陽光和樹,夢見了火與水。它夢見它創生。它亦夢見它毀滅。它夢見它狩獵,亦被狩獵。它夢見了庇護所。
Hah, the original interface. A million years old, and it still works. But what true structure did this player create, in the reality behind the screen?
哈,那原始的界面。經歷一百萬年的歲月雕琢,依然長存。但此玩家在那屏幕后的真實里,創造了什么真實的構造?
It worked, with a million others, to sculpt a true world in a fold of the [scrambled], and created a [scrambled] for [scrambled], in the [scrambled].
它辛勤地勞作,和其它百萬眾一起,由[亂碼]刻畫了一個真實的世界,且為了[亂碼],創造了[亂碼],于[亂碼]中。
It cannot read that thought.
它讀不出那個思想。
No. It has not yet achieved the highest level. That, it must achieve in the long dream of life, not the short dream of a game.
不。它還沒有到達最高的境界。那層境界,它必須完成生命的長夢才能達到,而非游戲中黃粱一夢。”
一節我們通過WebAPI接口讀取到了分類數據,并能夠在程序中呈現,這節我們完成從數據中的提取。
用C#平臺來開發Web項目,數據庫首選還是SQLServer。不過考慮這是入門教程,如果用SQLServer又牽涉到了相關的安裝及配置,不便于演示,仍然還是沿用我們第一階段使用的SQLite,相關代碼也不需要重構了。
我們回顧下,在做Diary.Win的時候,我們用下面的語句就可以連接到數據庫:
BAL.DBController.Default.connectToDatabase(Global.Default.DBFilepath);
只要有了數據庫的文件地址就可以。在Diary.Win中,數據庫的文件地址我們是這樣獲取的:
Global.Default.DBFilepath=string.Format("{0}{1}", Application.StartupPath, DBFilename);
然后我們嘗試在Diary.WebAPI中也使用這樣的代碼,結果得到了這樣的錯誤:
找不到Application的定義,大家可以先自行考慮為什么?
我們寫程序的過程中就是不停地遇到問題,然后分析原因,解決問題。一個項目可以,一個項目不行,那肯定要先對比不同在哪里:
我們在Diary.Win項目中找到Application,因為這里是可以編譯通過的。我們把鼠標移到Application的上面,Application一般是淡青色的,然后就會彈出這個類的釋義。
我們可以看到,Application是定義在System.Windows.Forms這個命名空間下的。System.Windows.Forms是什么?是專門為WinForm程序定義的類庫,只在WinForm程序下才能使用,因為WinForm的類庫會直接調用Windows系統的API。而WebAPI是Web服務端程序,可能是Windows Server服務器,也可能是Liunx服務器或者其他操作系統,根本就沒有WinForm程序得以依賴運行的環境,所以也就沒辦法支持Application這個類了。
那.net5是否存在一個與Application.StartupPath功能類似的類庫或函數呢?當然是有的:AppDomain.CurrentDomain.BaseDirectory 就是獲得當前網站運行的根目錄。
如下圖,我們可以輕易地獲得這個目錄
但是從設計上考慮,這樣并不好。主要是兩點考慮:
1、多服務端共享
我們做的這個私人筆記是很簡單的,無所謂多項目。大一點的項目管理后臺與用戶前臺是分開的,甚至為了平衡負載,某些關鍵的、需要大量計算的接口會單獨作為服務器來運行。而他們指向的數據庫都是同一個甚至多個。如果你的數據庫連接僅僅是在自己的項目中,那別人就沒辦法連了。
2、可維護性
網站項目不同于單機版。單機版就你一個人用,隨時關隨時停都沒問題,有錯誤慢慢調。網站可能一直都有人在用,如果是寫死在代碼中,就意味著如果再修改,就要重新編譯然后替換,有的時候你無法確定編譯后會發生什么。這種事情對網站來說,越少發生越好,能通過改配置實現的,盡量不重新編譯。
正確的方法是什么呢?當然是通過配置文件來定義。我們在解決方案目錄中找到appsettings.json文件,然后增加:
在Startup.cs文件中讀取配置:
這樣就可以通過配置文件來定義數據庫的路徑,如果以后想要修改就直接改配置文件,網站不需要重新編譯,只要重啟服務就好了。
然后我們把Diary.db文件復制到網站目錄,嘗試運行,發現并沒有成功。調試代碼發現DBConnection中的中文字符竟然成了亂碼,初步判斷就是文件編碼的問題。這種以前在做VC開發的時候太常見了,用C#開發以后少了很多。
我們用windows記事本打開appsettings.json,然后另存為時,果不其然,發現編碼為ANSI
也就是說,默認生成的appsettings.json編碼格式為ANSI,而讀取的時候默認是按Utf-8,這個坑實在是太低級了。
記事本中在保持的時候改成UTF-8,再次運行,數據連接就成功了。
我們接下來就嘗試在api接口中,從數據庫返回真正的數據。
修改成紅線部分的代碼,然后運行:
成功讀取數據。
至此,我們完成了數據從數據庫->WebAPI->WASM->瀏覽器的呈現。相比WinForm,這個過程太漫長了。而如果我們Web采用的是Blazor Server的方式,也可以減少WebAPI的這一環節。那么是不是說WASM這種方式開發低效呢?對小項目來說確實是這樣的,每個功能都要多出2-3個步驟,沒有跨平臺計劃的,還是考慮用Blazor Server的方式吧。
如果放眼到跨平臺的原生支持,上面的這些工作就不白做了。有了WebAPI作為中介,我們前端的處理就只關心界面和數據就好了,跨平臺不再是問題,不同界面做不同的事情,Web也不過是其中的一種展現形式,這種方式可以讓系統變得更寬。
打通了任脈后,我們接下來需要打通督脈,即把數據由瀏覽器寫入到數據庫中,下節繼續。
----------------------------------------------------
本教程項目源碼已作為開源項目加入到Gitee,代碼內容會隨教程實時更新,大家有興趣的話可以關注我,以獲得最及時的更新。私信:
私人日記 可以獲取相關鏈接;
大家閱讀過程中有哪些看不懂或未盡興的地方,可以在評論區留言,我會先記下來在后續的教程中找機會再說。
教程有幫助的話請大家幫忙關注、轉發、擴散,能不能開專欄還需要你們的支持!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。