Linux中國

Bash 學習的快樂之旅:3 個命令行遊戲

學習是件艱苦的工作,然而沒有人喜歡工作。這意味著無論學習 Bash 多麼容易,它仍然對你來說就像工作一樣。當然,除非你通過遊戲來學習。

你不會覺得會有很多遊戲可以教你如何使用 Bash 終端吧,這是對的。嚴肅的 PC 遊戲玩家知道,《 輻射 Fallout 》系列在金庫中配備了基於終端的計算機,這可以幫你理解通過文本與計算機進行交互是什麼樣子,但是儘管其功能或多或少地類似於 AlpineEmacs,可是玩《輻射》並不會教給你可以在現實生活中使用的命令或應用程序。《輻射》系列從未直接移植到Linux(儘管可以通過 Steam 的開源的 Proton 來玩。)曾是《輻射》的前身的《 廢土 Wasteland 》系列的最新作品倒是面向 Linux 的,因此,如果你想體驗遊戲中的終端,可以在你的 Linux 遊戲計算機上玩《廢土 2》和《廢土 3》。《 暗影狂奔 Shadowrun 》系列也有面向 Linux 的版本,它有許多基於終端的交互,儘管公認 hot sim 序列常常使它黯然失色。

雖然這些遊戲中採用了有趣的操作計算機終端的方式,並且可以在開源的系統上運行,但它們本身都不是開源的。不過,至少有兩個遊戲採用了嚴肅且非常有趣的方法來教人們如何通過文本命令與系統進行交互。最重要的是,它們是開源的。

Bashcrawl

你可能聽說過《 巨洞探險 Colossal Cave Adventure 》遊戲,這是一款古老的基於文本的互動式遊戲,其風格為「自由冒險」類。早期的計算機愛好者們在 DOS 或 ProDOS 命令行上痴迷地玩這些遊戲,他們努力尋找有效語法和(如一個諷刺黑客所解釋的)滑稽幻想邏輯的正確組合來擊敗遊戲。想像一下,如果除了探索虛擬的中世紀地下城之外,挑戰還在於回憶起有效的 Bash 命令,那麼這樣的挑戰會多麼有成效。這就是 Bashcrawl 的基調,這是一個基於 Bash 的地下城探險遊戲,你可以通過學習和使用 Bash 命令來玩這個遊戲。

在 Bashcrawl 中,「地下城」是以目錄和文件的形式創建在你的計算機上的。你可以通過使用 cd 命令更改目錄進入地下城的每個房間來探索它。當你穿行目錄時,你可以用 ls -F 來查看文件,用 cat 讀取文件,設置變數來收集寶藏,並運行腳本來與怪物戰鬥。你在遊戲中所做的一切操作都是有效的 Bash 命令,你可以稍後在現實生活中使用它,玩這個遊戲提供了 Bash 體驗,因為這個「遊戲」是由計算機上的實際目錄和文件組成的。

$ cd entrance/
$ ls
cellar  scroll
$ cat scroll

It is pitch black in these catacombs.
You have a magical spell that lists all items in a room.

To see in the dark, type:     ls
To move around, type:         cd <directory>

Try looking around this room.
Then move into one of the next rooms.

EXAMPLE:

$ ls
$ cd cellar

Remember to cast ``ls`` when you get into the next room!
$

安裝 Bashcrawl

在玩 Bashcrawl 之前,你的系統上必須有 Bash 或 Zsh。Linux、BSD 和 MacOS 都附帶了 Bash。Windows 用戶可以下載並安裝 CygwinWSL試試 Linux

要安裝 Bashcrawl,請在 Firefox 或你選擇的 Web 瀏覽器中導航到這個 GitLab 存儲庫。在頁面的右側,單擊「下載」圖標(位於「Find file」按鈕右側)。在「下載」彈出菜單中,單擊「zip」按鈕以下載最新版本的遊戲。

![Download a zip from Gitlab](/data/attachment/album/201910/12/090307sm3z88c3ici1cn86.png "Download a zip from Gitlab")

下載完成後,解壓縮該存檔文件。

另外,如果你想從終端中開始安裝,則可以使用 Git 命令:

$ git clone https://gitlab.com/slackermedia/bashcrawl.git bashcrawl

遊戲入門

與你下載的幾乎所有新的軟體包一樣,你必須做的第一件事是閱讀 README 文件。你可以通過雙擊bashcrawl 目錄中的 README.md 文件來閱讀。在 Mac 上,你的計算機可能不知道要使用哪個應用程序打開該文件;你也可以使用任何文本編輯器或 LibreOffice 打開它。README.md 這個文件會具體告訴你如何開始玩遊戲,包括如何在終端上進入遊戲以及要開始遊戲必須發出的第一條命令。如果你無法閱讀 README 文件,那遊戲就不戰自勝了(儘管由於你沒有玩而無法告訴你)。

Bashcrawl 並不意味著是給比較聰明或高級用戶玩的。相反,為了對新用戶透明,它儘可能地簡單。理想情況下,新的 Bash 用戶可以從遊戲中學習 Bash 的一些基礎知識,然後會偶然發現一些遊戲機制,包括使遊戲運行起來的簡單腳本,並學習到更多的 Bash 知識。此外,新的 Bash 用戶可以按照 Bashcrawl 現有內容的示例設計自己的地下城,沒有比編寫遊戲更好的學習編碼的方法了。

命令行英雄:BASH

Bashcrawl 適用於絕對初學者。如果你經常使用 Bash,則很有可能會嘗試通過以初學者尚不了解的方式查看 Bashcrawl 的文件,從而找到勝過它的秘徑。如果你是中高級的 Bash 用戶,則應嘗試一下 命令行英雄:BASH

這個遊戲很簡單:在給定的時間內輸入儘可能多的有效命令(LCTT 譯註:BASH 也有「猛擊」的意思)。聽起來很簡單。作為 Bash 用戶,你每天都會使用許多命令。對於 Linux 用戶來說,你知道在哪裡可以找到命令列表。僅 util-linux 軟體包就包含一百多個命令!問題是,在倒計時的壓力下,你的指尖是否忙的過來輸入這些命令?

![Command Line Heroes: BASH](/data/attachment/album/201910/12/090308kl3o3ezp6hngpdhz.jpg "Command Line Heroes: BASH")

這個遊戲聽起來很簡單,它確實也很簡單!原則上,它與 閃卡 flashcard 相似,只是反過來而已。在實踐中,這是測試你的知識和回憶的一種有趣方式。當然,它是開源的,是由 Open Jam 的開發者開發的。

安裝

你可以在線玩「命令行英雄:BASH」,或者你也可以從 GitHub 下載它的源代碼。

這個遊戲是用 Node.js 編寫的,因此除非你想幫助開發該遊戲,否則在線進行遊戲就夠了。

在 Bash 中掃雷

如果你是高級 Bash 用戶,並且已經編寫了多個 Bash 腳本,那麼你可能不僅僅想學習 Bash。你可以嘗試編寫遊戲而不是玩遊戲,這才是真的挑戰。稍加思考,用上一個下午或幾個小時,便可以在 Bash 中實現流行的遊戲《掃雷》。你可以先嘗試自己編寫這個遊戲,然後參閱 Abhishek Tamrakar 的文章,以了解他如何完成該遊戲的。

有時編程沒有什麼目的而是為了教育。在 Bash 中編寫的遊戲可能不是可以讓你在網上贏得聲譽的項目,但是該過程可能會很有趣且很有啟發性。面對一個你從未想到的問題,這是學習新技巧的好方法。

學習 Bash,玩得開心

不管你如何學習它,Bash 都是一個功能強大的界面,因為它使你能夠指示計算機執行所需的操作,而無需通過圖形界面的應用程序的「中間人」界面。有時,圖形界面很有幫助,但有時你想離開那些已經非常了解的東西,然後轉向可以快速或通過自動化來完成的事情。由於 Bash 基於文本,因此易於編寫腳本,使其成為自動化作業的理想起點。

了解 Bash 以開始走向高級用戶之路,但是請確保你樂在其中。

via: https://opensource.com/article/19/10/learn-bash-command-line-games

作者:Seth Kenlon 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國