Bashプログラミング
 Computer >> コンピューター >  >> プログラミング >> Bashプログラミング

楽しく学べる!Bash習得に役立つコマンドラインゲーム3選

学習は大変な作業であり、誰も「作業」そのものは好きではありません。つまり、Bashがどれだけ習得しやすい言語だとしても、やはり「勉強」という感覚を拭いきれないかもしれません。しかし、ゲームを通して学ぶなら話は別です。

ターミナルの使い方を教えてくれるゲームなど、そう多くは存在しないと思うでしょう。実際、その通りなのです。PCゲーマーならご存知の通り、FalloutシリーズにはVault内にターミナル式のコンピュータが登場し、テキストでコンピュータと対話するという概念に自然と親しめるようになっています。AlpineやEmacsに似たアプリケーションも登場しますが、残念ながらFalloutをプレイしても、実生活で使えるコマンドやアプリケーションを身につけることにはなりません。FalloutシリーズはLinux向けに直接移植されたことはありません(ただし、Steamのオープンソース版Proton経由でプレイ可能です)。一方、Falloutの前身となったWastelandシリーズの最新作はLinuxに対応しているので、ゲーム内ターミナルを体験したいなら、LinuxゲーミングPCでWasteland 2やWasteland 3をプレイできます。ShadowrunシリーズもLinuxに対応しており、ターミナルベースの操作が数多く登場しますが、残念ながら派手なシミュレーションシーンの陰に隠れがちです。

これらのゲームはコンピュータ端末を楽しいアプローチで描き、オープンソースシステム上でも動作しますが、ゲーム自体はオープンソースではありません。しかし、テキストコマンドによるシステム操作を本気で、かつ本気で楽しく教えてくれるゲームが少なくとも2つ存在します。しかも、どちらもオープンソースなのです。

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ユーザーはCygwinやWSLをダウンロード・インストールするか、思い切ってLinuxそのものを試してみましょう。

Bashcrawlをインストールするには、FirefoxなどのWebブラウザでGitLabにアクセスします。ページ右側にあるDownloadアイコン(Find fileボタンの右)をクリックしてください。

Downloadポップアップメニューが表示されたら、Zipボタンをクリックして最新版のゲームをダウンロードします。

楽しく学べる!Bash習得に役立つコマンドラインゲーム3選

ダウンロードが完了したら、アーカイブを解凍します。

あるいは、すぐにターミナルで作業を始めたい場合は、Gitを使うこともできます。

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

はじめ方

ダウンロードした新しいソフトウェアパッケージと同じく、まず最初にやるべきことはREADMEファイルを読むことです。bashcrawlディレクトリ内のREADME.mdファイルをダブルクリックして開きましょう。Macの場合、どのアプリケーションで開くべきか判断されないことがあります。その場合は任意のテキストエディタやLibreOfficeを使えば問題ありません。README.mdには、ターミナルでゲームへアクセスする方法や、ゲーム開始時に打つべき最初のコマンドまで、プレイの手順が詳しく記載されています。READMEファイルを読み飛ばした場合、デフォルトでゲーム側の勝ちとなります(とはいえ、プレイしていないあなたにその結果を伝える術はありませんが)。

Bashcrawlは、ひねった高度な作りを目指しているわけではありません。むしろ、初心者にとって分かりやすいことを最優先に、できる限りシンプルに設計されています。理想的には、Bash初心者がゲームから基本を学び、さらにゲームの仕組み――動作を支える簡単なスクリプト――に行き当たって、さらなるBashの知識を深められる作りになっています。さらに、既存のBashcrawlコンテンツを参考にすれば、自分だけのオリジナルダンジョンを設計することも可能です。ゲームを作ること以上にコードを学べる方法はないのですから。

Command Line Heroes: BASH

Bashcrawlは完全な初心者向けです。日常的にBashを使っている人なら、初心者がまだ知らないようなファイルの見方で、Bashcrawlを「ズル」して突破しようとしてしまうでしょう。中級〜上級のBashユーザーなら、Command Line Heroes: BASHを試してみるのがおすすめです。

ルールはシンプルです。制限時間内に、思いつく限りの有効なコマンドを入力するだけ。簡単に聞こえますよね?Bashユーザーなら毎日たくさんのコマンドを使っていますし、Linuxユーザーならコマンド一覧の場所も把握しています。util-linuxパッケージだけで100以上のコマンドが含まれています!問題は、カウントダウンのプレッシャーの中で、それらのコマンドがすぐに指先から出てくるかどうかなのです。

楽しく学べる!Bash習得に役立つコマンドラインゲーム3選

このゲームが簡単に聞こえるのは、実際に簡単だからです!仕組み的にはフラッシュカードの逆バージョンのようなもので、自分の知識と思い出す力を試す楽しい方法になります。もちろんオープンソースで、Open Jamの開発者たちによって作られました。

インストール方法

Command Line Heroes: BASHはオンラインでそのままプレイできるほか、GitHubからソースコードをダウンロードすることもできます。

ゲームはNode.jsで書かれているため、開発に貢献したいのでなければ、オンラインでプレイするのが最も手軽でしょう。

Bashでマインスイーパーを作ってみよう

上級者のBashユーザーで、すでにいくつかのBashスクリプトを書いた経験があるなら、もう「Bashを学ぶ」段階は卒業しているはずです。本格的なチャレンジとして、ゲームをプレイするのではなく、自分でゲームをプログラミングしてみてはいかがでしょうか。少し頭をひねって、午後の空いた時間を2〜3回使えば、人気ゲームマインスイーパーを完全にBashで実装できます。まず自分で書いてみて、その後Abhishek Tamrakar氏の記事を参照し、彼がどのように実装したのかを確認するのも良い学びになります。

楽しく学べる!Bash習得に役立つコマンドラインゲーム3選

プログラミングには必ずしも実用的な目的が必要なわけではなく、教育そのものが目的となることもあります。Bashでゲームを作るプロジェクトが、あなたのオンラインでの評判を左右するものにはならないかもしれませんが、その過程は楽しく、多くの気づきをもたらしてくれます。想定外の問題に直面することこそ、新しいテクニックを身につける絶好の機会なのです。

Bashを学んで、楽しもう

どんなアプローチで学ぶにせよ、Bashは強力なインターフェースです。GUIアプリケーションという「仲介役」を介さずに、コンピュータに直接やりたいことを指示できるのですから。GUIが便利な場面もあるでしょうが、使い慣れた操作から一歩進んで、素早く実行できるものや自動化できるものへ移行したいときもあります。Bashはテキストベースなのでスクリプト化が容易で、自動化処理の出発点として最適なのです。

Bashを学んで、パワーユーザーへの第一歩を踏み出しましょう。そして、その過程を必ず楽しんでください。

  1. Linux PCで絶対に遊ぶべきおすすめゲーム5選

    Linuxディストリビューションは、すぐにゲーミングプラットフォームとして定着するとは言えませんが、実際に快適にプレイできる優れたタイトルは数多く存在します。壮大なRPGからインディーズのヒット作まで、Linux PCで楽しめるおすすめゲームを5本厳選してご紹介します。 Linuxで遊べる人気ゲームトップ5 ここでは、私たちがLinux上で実際にプレイしてみて特に気に入ったタイトルを集めました。それぞれの魅力を詳しく見ていきましょう。 Battletech(バトルテック) Battletechは、プレイヤーが「メック」と呼ばれる機動兵器の部隊を指揮する、最高のLinuxゲームの一つです。ター

  2. 2022年版おすすめオープンワールドゲーム15選|自分だけのスタイルで世界を自由に探索しよう

    決められたルールにとらわれず、仮想世界を自分の思い通りに駆け巡れたら――そんな体験にワクワクしませんか?それを実現してくれるのが、最高のオープンワールドゲームです。ストーリーやミッションを追いながらクエストを攻略するもよし、自分のペースとスタイルで自由に世界を散策するもよし。銀河、荒野、砂漠、現代都市など、さまざまな世界を旅できるとなれば、その魅力は計り知れません。 この記事では、あなたのゲーム体験を一変させる、厳選したオープンワールドゲームをご紹介します。 快適なゲーム環境のためのひと工夫 PCでストレスなくゲームを楽しむなら、ゲーム最適化ツールの導入がおすすめです。「Advanced S