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

インタラクティブなゲームを書いてBashを学ぶ

新しいプログラミング言語を学ぶのは楽しいことがあります。新しい変数を学習しようとするときは常に、変数の定義、ステートメントの記述、式の評価に重点を置いています。これらの概念の一般的な理解ができたら、通常は自分で残りの部分を理解できます。ほとんどのプログラミング言語にはいくつかの類似点があるため、あるプログラミング言語を知ったら、次のプログラミング言語を学ぶことは、固有の詳細を理解し、その違いを認識することです。

新しいプログラミング言語を練習するのを助けるために、私はいくつかのテストプログラムを書くのが好きです。私がよく書くサンプルプログラムの1つは、単純な「数字を推測する」プログラムです。このプログラムでは、コンピューターが1から100までの数字を選び、その数字を推測するように求めます。私が正しく推測するまで、プログラムはループします。

「数を推測する」プログラムは、プログラミング言語でいくつかの概念を実行します。変数に値を割り当てる方法、ステートメントを記述する方法、および条件付き評価とループを実行する方法です。これは、新しいプログラミング言語を学ぶための優れた実践的な実験です。

Bashの数値を推測します

Bashは、ほとんどのLinuxシステムの標準シェルです。豊富なコマンドラインユーザーインターフェイスを提供するだけでなく、Bashはスクリプトの形式で完全なプログラミング言語もサポートします。 。

Bashに慣れていない場合は、次の紹介をお勧めします:

  • Bashとは何ですか?
  • Bashプログラミングを始めましょう
  • システム管理者向けのBashスクリプトの使用を開始する
  • Bashで関数を作成する方法
  • Bashについてもっと読む

「数字を推測する」ゲームのバージョンを作成することで、Bashを探索できます。これが私の実装です:

#!/bin/bash

number=$(( $RANDOM % 100 + 1 ))

echo "Guess a number between 1 and 100"

guess=0

while [ "0$guess" -ne $number ] ; do
        read guess
        [ "0$guess" -lt $number ] && echo "Too low"
        [ "0$guess" -gt $number ] && echo "Too high"
done

echo "That's right!"
exit 0
スクリプトを分解する

スクリプトの最初の行、#!/ bin / bash LinuxにBashシェルを使用してこのスクリプトを実行するように指示します。すべてのスクリプトは#!で始まります これがシェルスクリプトであることを示す文字ペア。 #!の直後に続くもの 実行するシェルです。この場合、 / bin / bash はBashシェルです。

変数に値を割り当てるには、変数の名前の後に =を続けてリストします。 サイン。たとえば、ステートメント guess =0 guessにゼロ値を割り当てます 変数。

readを使用して値を入力するようにユーザーに促すこともできます 声明。 readguessを書く場合 、Bashは、ユーザーがテキストを入力するのを待ってから、その値を guessに保存します。 変数。

変数の値を参照するには、 $を使用します 変数名の前。したがって、guessに値を保存しました 変数の場合、 $ guessを使用して取得できます 。

変数には好きな名前を使用できますが、Bashはそれ自体にいくつかの特別な変数名を予約しています。特別な変数の1つは、 RANDOMです。 、参照するたびに非常に大きな乱数が生成されます。

値を格納すると同時に操作を実行する場合は、ステートメントを特別な角かっこで囲む必要があります。これは、Bashにそのステートメントを最初に実行するように指示し、 = 結果の値を変数に格納します。数式を評価するには、 $(())を使用します あなたの声明の周り。二重括弧は算術式を示します 。私の例では、 number =$(($ RANDOM%100 + 1))$RANDOM%100 + 1を評価します 次に、値を numberに格納します 変数。

+などの標準的な算術演算子 (プラス)、- (マイナス)、 * (乗算)、 / (除算)、および (モジュロ)適用します。

つまり、ステートメント number =$(($ RANDOM%100 + 1)) 1から100までの乱数を生成します。モジュロ演算子(剰余を返します 2つの数を割った後。この場合、Bashは乱数を100で除算し、余りを0から99の範囲に残します。その値に1を加算すると、1から100までの乱数が得られます。

Bashは条件式をサポートします およびフロー制御 ループのように。 「数字を推測する」ゲームでは、 guess の値が続く限り、Bashはループを続けます。 numberと等しくありません 。推測が乱数よりも小さい場合、Bashは「低すぎる」と出力し、推測が数値よりも大きい場合、Bashは「高すぎる」と出力します。

仕組み

Bashスクリプトを作成したので、それを実行して「数字を推測する」ゲームをプレイできます。正しい番号が見つかるまで推測を続けます:

Guess a number between 1 and 100
50
Too high
30
Too high
20
Too high
10
Too low
15
Too high
13
Too low
14
That's right!

スクリプトを実行するたびに、Bashは異なる乱数を選択します。

この「数を推測する」ゲームは、いくつかの一般的なプログラミング概念を非常に簡単な方法で実行するため、新しいプログラミング言語を学習する際の優れた入門プログラムです。この単純なゲームをさまざまなプログラミング言語で実装することにより、いくつかのコアコンセプトを示し、各言語の詳細を比較できます。

好きなプログラミング言語はありますか?その中に「数字を推測する」ゲームをどのように書きますか?この一連の記事に従って、興味のある他のプログラミング言語の例を確認してください。


  1. ライティング ゲームを向上させるための最良の文法的代替手段

    誰もが Grammarly を愛しており、私たちも例外ではありません。しかし、タイトルを見ると、なぜ文法上の代替案について話しているのか疑問に思うかもしれません。オプションをオープンにしておくのは賢明なことではないでしょうか?さらに、Grammarly にもう少し機能があればいいのにと思うこともあります。それは、盗作チェッカー、より優れた翻訳者、またはより広範な単語データベースである可能性があります。 私たちは人間であり、さまざまな間違いを犯します。そのため、私たちはあなたの文法ナチスに迎合するか、少なくともあなたをより良い作家にするオンラインおよびオフラインの校正ツールをいくつかリストしま

  2. Learn Math App:Game of Numbers で基本的な算術演算を学習する方法

    数学が怖い?うん!私も数字と、数字で何ができるかが怖かったです。しかし、数学を避けることは解決策ではなく、子供たちに教えることもできません. Learn Math App by Systweak をご紹介します。これは、お子様が数学に興味を持ち、クールなトリックを学ぶのに役立つ楽しいアプリです。このアプリで彼らが問題を解いてメダルを獲得するのを見ながら、いくつかのゲームを試してみて、数学への恐怖心を取り除けないまでも減らすことができます。 Learn Math App:- 機能と仕様 Learn Math App Software は、1 年生から 8 年生までの子供たちに基本的な算術演