はじめに
このプロジェクトでは、Bash スクリプトを使用してチェス盤を作成する方法を学びます。このプロジェクトを完了することで、ネストされたループ、色の印刷、シェルスクリプトの使用経験を積むことができます。
🎯 タスク
このプロジェクトでは、以下を学習します。
- チェス盤作成のための環境設定方法
- ユーザーにチェス盤のサイズを入力させる方法
- ネストされたループを使用して、白と黒のセルが交互に配置されたチェス盤を出力する方法
🏆 達成目標
このプロジェクトを完了すると、以下のことができるようになります。
- Bash スクリプティングを使用して視覚的なチェス盤を作成する
- ネストされたループを活用してグリッド状の構造を生成する
- 出力の視覚的魅力を高めるために色の印刷を実装する
- ユーザーからの入力を求め、その入力を使用して目的の出力を生成する
環境設定
このステップでは、チェス盤を作成するための環境を設定します。
- テキストエディタを開き、
chessBoard.shという名前の新しいファイルを作成します。 - ファイルの先頭に次のシバン(shebang)行を追加します。
#!/bin/bash
この行は、スクリプトの実行に Bash シェルを使用するようにシステムに指示します。
盤面のサイズをユーザーに入力させる
このステップでは、ユーザーにチェス盤のサイズを入力するように求めます。
- 以下のコードをスクリプトに追加します。
echo -e "\e[44m[Input]\e[0m Enter the size of the chess board: "
read value
このコードは、ユーザーにチェス盤のサイズを入力するためのプロンプトを表示し、ユーザーの入力を value 変数に格納します。
チェス盤の出力
このステップでは、ネストされたループを使用してチェス盤を出力します。
- 以下のコードをスクリプトに追加します。
echo -e "\n\n\e[42m[OUTPUT]\e[0m REQUESTED CHESS-BOARD \e[42m[OUTPUT]\e[0m"
for ((row = 1; row <= value; row++)); do
for ((col = 1; col <= value; col++)); do
sumOfRowAndCol=$(($(($row + $col)) % 2))
if [ $sumOfRowAndCol -eq 0 ]; then
echo -e -n "\033[47m" " "
else
echo -e -n "\033[40m" " "
fi
done
echo -ne "\033[0m" " "
echo
done
echo -n -e "\033[0m"
このコードは、ネストされたループを使用してチェス盤の行と列を反復処理します。各セルについて、行インデックスと列インデックスの合計を計算し、この値を使用してセルが黒または白であるかを判断します。echo コマンドは、各セルに対応する色を出力し、各行の後に色をリセットするために使用されます。
スクリプトの実行
このステップでは、スクリプトを実行してチェス盤を生成します。
chessBoard.shファイルを保存します。- ターミナルを開き、スクリプトを保存したディレクトリに移動します。
- 以下のコマンドを実行して、スクリプトに実行権限を付与します。
chmod +x chessBoard.sh
- 以下のコマンドを実行して、スクリプトを実行します。
./chessBoard.sh
スクリプトはチェス盤のサイズを入力するように求め、その後、ターミナルにチェス盤を出力します。
おめでとうございます!Bash スクリプティングを使用してチェス盤の作成に成功しました。
まとめ
おめでとうございます!このプロジェクトを完了しました。LabEx でさらに多くの実験を練習して、スキルを向上させることができます。



