簡単なゲームのプログラミングは、新しい言語を練習し、習得した他の言語と比較するのに最適な方法です。
新しいプログラミング言語を学ぶのは楽しい。新しい言語を学ぼうとするときはいつも、変数の定義、文の書き方、式の評価に集中します。これらの概念を大まかに理解すれば、あとはたいてい自分で解決できます。ほとんどのプログラミング言語には共通点があるので、あるプログラミング言語を理解したら、次の言語を学ぶには、その言語独自の詳細を理解し、違いを認識することがすべてです。
新しいプログラミング言語を練習するために、私はテストプログラムを書くのが好きです。私がよく書くプログラムの一例は、単純な「数当て」プログラムで、コンピュータが1から100までの数字を選び、私にその数字を当てるように要求します。プログラムは私が正解するまでループします。
この「Guess the Number」プログラムでは、変数への値の代入の仕方、文の書き方、条件判断やループの作り方など、プログラミング言語のいくつかの概念を練習します。これは、新しいプログラミング言語を学ぶための良い実践的な実験です。
Bashで数字当てゲーム
Bash ほとんどのLinuxシステムの標準シェルで、豊富なコマンドラインユーザーインターフェースを提供するだけでなく、Bashは...
Bashに馴染みのない方には、これらの紹介をお勧めします:
#!/bin/bashnumber=$(( $RANDOM % 100 + 1 ))echo "Guess a number between 1 and 100"guess=0while [ "0$guess" -ne $number ] ; doread guess[ "0$guess" -lt $number ] && echo "Too low"[ "0$guess" -gt $number ] && echo "Too high"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スクリプトを書いたら、「数字当てゲーム」を実行しましょう。正しい数字が見つかるまで、当て続けてください:
Guess a number between 1 and 001Too highToo highToo highToo lowToo highToo lowThat's right!
このスクリプトを実行するたびに、Bashはランダムに異なる番号を選択します。
この「数当てゲーム」は、新しいプログラミング言語を学ぶための導入として最適です。このシンプルなゲームを異なるプログラミング言語で実装することで、核となる概念のいくつかを示し、各言語の詳細を比較することができます。





