blog

ソフトウェア開発|インタラクティブなゲームを書いてBashを学ぶ

簡単なゲームのプログラミングは、新しい言語を練習し、習得した他の言語と比較するのに最適な方法です。...

Oct 13, 2025 · 4 min. read
シェア

簡単なゲームのプログラミングは、新しい言語を練習し、習得した他の言語と比較するのに最適な方法です。

新しいプログラミング言語を学ぶのは楽しい。新しい言語を学ぼうとするときはいつも、変数の定義、文の書き方、式の評価に集中します。これらの概念を大まかに理解すれば、あとはたいてい自分で解決できます。ほとんどのプログラミング言語には共通点があるので、あるプログラミング言語を理解したら、次の言語を学ぶには、その言語独自の詳細を理解し、違いを認識することがすべてです。

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

この「Guess the Number」プログラムでは、変数への値の代入の仕方、文の書き方、条件判断やループの作り方など、プログラミング言語のいくつかの概念を練習します。これは、新しいプログラミング言語を学ぶための良い実践的な実験です。

Bashで数字当てゲーム

Bash ほとんどのLinuxシステムの標準シェルで、豊富なコマンドラインユーザーインターフェースを提供するだけでなく、Bashは...

Bashに馴染みのない方には、これらの紹介をお勧めします:

  1. #!/bin/bash
  2. number=$(( $RANDOM % 100 + 1 ))
  3. echo "Guess a number between 1 and 100"
  4. guess=0
  5. while [ "0$guess" -ne $number ] ; do
  6. read guess
  7. [ "0$guess" -lt $number ] && echo "Too low"
  8. [ "0$guess" -gt $number ] && echo "Too high"
  9. echo "That's right!"

このスクリプトを分解します。

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

変数に値を代入するには、変数名の後に=記号を付けます。例えば、guess=0 という文は、変数 guess に 0 を代入します。

また、read文を使用してユーザに値を入力させることもできます。read guess文を記述すると、Bashはユーザがテキストを入力するのを待ち、その値をguess変数に格納します。

変数の値を参照するには、変数名の前に $ をつけます。つまり、guess 変数に値を格納したあと、それを取り出すには $guess を使うということです。

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

標準的な算術演算子(+、-、*、/、%など)が適用されます。

これは、 number=$(( $RANDOM % 100 + 1 )) 文が 1 から 100 までの乱数を生成することを意味します。モジュラス演算子は2つの数値を割った余りを返します。この場合、Bashは乱数を100で割り、0から99までの余りを残します。 この値に1を加えることで、1から100までの乱数を得ることができます。

Bashはループのような和をサポートします。数字を当てる」ゲームでは、Bashはguessの値がnumberと等しくない限りループを続けます。guessの値が乱数より小さい場合、Bashは "too low "と表示し、guessの値が乱数より大きい場合、Bashは "too high "と表示します。

仕組み

Bashスクリプトを書いたら、「数字当てゲーム」を実行しましょう。正しい数字が見つかるまで、当て続けてください:

  1. Guess a number between 1 and 001
  2. Too high
  3. Too high
  4. Too high
  5. Too low
  6. Too high
  7. Too low
  8. That's right!

このスクリプトを実行するたびに、Bashはランダムに異なる番号を選択します。

この「数当てゲーム」は、新しいプログラミング言語を学ぶための導入として最適です。このシンプルなゲームを異なるプログラミング言語で実装することで、核となる概念のいくつかを示し、各言語の詳細を比較することができます。

Read next