🎮

Azure Cloud Shellでテトリスを遊ぶ

2024/12/15に公開

はじめに

Azure Portalからすぐに起動できるAzure Cloud Shellの機能を学びながら、Cloud Shellでテトリスをして遊びます!!

Azure Cloud Shellのおさらい

Azure Cloud Shellは、すぐに使えるブラウザベースのターミナルです。非常に強力かつ簡単に使えるツールで皆さんも活用されているかと思います。

Azure Cloud Shellに導入されているツール

よく使うツールがプレインストールされており、Azure Cloud Shellを開いてすぐにAzure CLIやgit、Terraformコマンドが使用できます。
Azure Cloud Shell内のツールは、自動的に最新バージョンに更新されます。
Azure CLIはaz login不要で、Azure Portalにログインしているユーザーとして実行されます。

Azure Cloud Shellにツールを追加導入したいとき

Azure Cloud Shellではroot権限を使用することができないため、yumコマンド等で追加のパッケージインストールは行えません。

特権を使用しないPythonのモジュールインストールや、wgetを用いたバイナリのダウンロードでツールを導入する必要があります。

Azure Cloud Shellのストレージ

2種類のストレージ設定が選択できます。Azure Cloud Shellを初めて起動するときに、いずれかを選択・設定します。
とりあえず使ってみたい場合は、(ストレージアカウントは不要です)のエフェメラルセッションでOKです。

Azure Cloud Shellのネットワーク

Azure Cloud ShellはAzureが管理するネットワーク上で実行されますが、任意のVNETにデプロイして動かすこともできます。
VNETにデプロイすることで、VNET内のVMやPrivateEndpointにアクセスしたり、NSGの適用やインターネットアクセスの制御を行うことも可能になります。

Azure Cloud Shellの料金

無料で使えます!
ファイルを永続化させるためにストレージアカウントを設定した場合は、そのストレージアカウントの利用料が発生します。

テトリスで遊ぶ

Azure Cloud ShellにプレインストールされているツールをLearnのドキュメントで確認してみると、Emacsが入っていました!

Emacsはオープンソースのテキストエディタなのですが、なんと25本ものゲームが搭載されています。テトリスもあります!

早速遊んでみましょう~
Azure Cloud ShellでEmacsコマンドを入力します。

Emacsが起動したら、Ctrl + xを押下し、tetrisを入力してEnterを押下します。

テトリスが起動しました!!


以下キーボード操作で遊べます。

操作 キー
左移動
右移動
回転
高速落下 Space

Azure Cloud Shellでもテトリスが快適に遊べますね。

スコアも記録され、プレイ後に画面右側にスコア一覧が表示されます。

Emacsを終了するには、Ctrlキーを押下したまま、「xc」と入力します。

テトリスのスコアを永続化する

テトリスのスコアは~/.emacs.d/games/tetris-scoresに保管されます。
Azure Cloud Shellのストレージにも記載したエフェメラルセッションでAzure Cloud Shellを実行していた場合、Cloud Shellを開きなおすとスコアも消えてしまいます…

永続的なストレージを使ったセッションに設定を変更して、テトリスのスコアが永続化されるようにしてみましょう。
Azure Cloud Shellのユーザー設定をリセットして、ストレージを再設定します。

「設定」➡「ユーザー設定のリセット」をクリックします。

こちらの手順でストレージアカウントを作成・マウントします。

以下のようにマウントされた状態でAzure Cloud Shellが起動しました!
これでテトリスのスコアも永続化されます!

なお、2つのマウントポイントがあります。

  • /usr/csuser/clouddrive
    • https://storageaccountname.file.core.windows.net/filesharename/がマウントされます。
    • デフォルトのサイズは6GBです。大きなファイルを保管したい場合は、ストレージアカウントのファイル共有のクォータを引き上げることで、こちらは拡張することが可能です。
    • ファイル共有は、ホームディレクトリにもclouddriveという名前でシンボリックリンクが張られています。
  • ホームディレクトリ
    • ホームディレクトリ内容は、ディスクイメージとして保存・マウントされ、ストレージアカウントのhttps://storageaccountname.file.core.windows.net/filesharename/.cloudconsole/acc_user.imgに格納されます。
      このディスクイメージのサイズは5GBで拡張することはできません。

そのほかのゲーム

標準で搭載されているゲームは、ほかにも五目並べ(gomokou)やドットを食べて成長させるヘビゲーム(snake)もあり、アドオンでマインスイーパーなどのゲームも追加できます。

卓球ゲームpongで遊ぶ

卓球ゲームのpongも遊べます!

Emacsが起動したら、Ctrl + xを押下し、pongを入力してEnterを押下します。

パドルを上下に動かしてボールを跳ね返して遊びます。一人で左右のプレイヤー両方の操作を行います。

操作 キー
左側のプレイヤー ↑ ↓
左側のプレイヤー ← →

最後に

デフォルトのAzure Cloud Shell環境でテトリスなどのゲームを遊んでみました!

皆さんもリフレッシュしたいときに、Azure Cloud Shellでテトリスをしてみてはいかがでしょうか〜

Discussion