端末でチェス盤を作成する

LinuxLinuxIntermediate
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、Bash スクリプトを使ってチェス盤を作成する方法を学びます。このプロジェクトを完了することで、ネストされたループ、色付き印刷、およびシェルスクリプトの使用経験を得ることができます。

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • チェス盤を作成するための環境を設定する方法
  • ユーザーにチェス盤のサイズを入力させる方法
  • 交互に黒と白のセルが並ぶチェス盤を印刷するためにネストされたループを使用する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • Bash スクリプトを使って可視的なチェス盤を作成する
  • グリッド状の構造を生成するためにネストされたループを利用する
  • 出力の視覚的魅力を高めるために色付き印刷を実装する
  • ユーザーに入力を促し、その入力を使って所望の出力を生成する

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/VersionControlandTextEditorsGroup(["Version Control and Text Editors"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/read("Input Reading") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/VersionControlandTextEditorsGroup -.-> linux/vim("Text Editing") linux/VersionControlandTextEditorsGroup -.-> linux/nano("Simple Text Editing") subgraph Lab Skills linux/echo -.-> lab-299820{{"端末でチェス盤を作成する"}} linux/read -.-> lab-299820{{"端末でチェス盤を作成する"}} linux/chmod -.-> lab-299820{{"端末でチェス盤を作成する"}} linux/cd -.-> lab-299820{{"端末でチェス盤を作成する"}} linux/vim -.-> lab-299820{{"端末でチェス盤を作成する"}} linux/nano -.-> lab-299820{{"端末でチェス盤を作成する"}} end

環境を設定する

このステップでは、チェス盤を作成するための環境を設定します。

  1. テキストエディタを開き、chess_board.sh という名前の新しいファイルを作成します。
  2. ファイルの先頭に以下のシェバン行を追加します。
#!/bin/bash

この行は、システムに対して、このスクリプトを実行するためにBashシェルを使用するように指示します。

ユーザーにボードのサイズを入力させる

このステップでは、ユーザーにチェス盤のサイズを入力させます。

  1. 次のコードをスクリプトに追加します。
echo -e "\e[44m[Input]\e[0m Enter the size of the chess board: "
read value

このコードは、ユーザーにチェス盤のサイズを入力するように促すプロンプトを表示し、ユーザーの入力を value 変数に格納します。

チェス盤を印刷する

このステップでは、ネストされたループを使ってチェス盤を印刷します。

  1. 次のコードをスクリプトに追加します。
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 コマンドは、各セルに適切な色を印刷し、各行の後に色をリセットするために使用されます。

スクリプトを実行する

このステップでは、チェス盤を生成するためにスクリプトを実行します。

  1. chess_board.sh ファイルを保存します。
  2. ターミナルを開き、スクリプトを保存したディレクトリに移動します。
  3. 次のコマンドを実行して、スクリプトを実行可能にします。
chmod +x chess_board.sh
  1. 次のコマンドを実行して、スクリプトを実行します。
./chess_board.sh

このスクリプトは、チェス盤のサイズを入力するように促し、その後、チェス盤をターミナルに印刷します。

おめでとうございます!あなたはBashスクリプトを使ってチェス盤を成功裏に作成しました。

✨ 解答を確認して練習

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたは実験技術を向上させるために、LabExでさらに多くの実験を行うことができます。