终端中的棋盘

LinuxBeginner
立即练习

介绍

在这个项目中,你将学习如何使用 Bash 脚本创建棋盘。完成本项目后,你将获得使用嵌套循环、彩色打印和 Shell 脚本的经验。

🎯 任务

在这个项目中,你将学习:

  • 如何设置创建棋盘的环境
  • 如何提示用户输入棋盘的大小
  • 如何使用嵌套循环打印具有交替黑白单元格的棋盘

🏆 成就

完成本项目后,你将能够:

  • 使用 Bash 脚本创建可视化的棋盘
  • 利用嵌套循环生成网格状结构
  • 实现彩色打印以增强输出的视觉吸引力
  • 提示用户输入并使用该输入生成所需的输出

设置环境

在这一步中,你将为创建棋盘设置环境。

  1. 打开一个文本编辑器并创建一个名为 chessBoard.sh 的新文件。
  2. 在文件开头添加以下 shebang 行:
#!/bin/bash

此行告诉系统使用 Bash shell 来执行脚本。

提示用户输入棋盘大小

在这一步中,你将提示用户输入棋盘的大小。

  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. 保存 chessBoard.sh 文件。
  2. 打开终端并导航到保存脚本的目录。
  3. 运行以下命令使脚本可执行:
chmod +x chessBoard.sh
  1. 通过执行以下命令运行脚本:
./chessBoard.sh

脚本将提示你输入棋盘的大小,然后它会将棋盘打印到终端。

恭喜!你已成功使用 Bash 脚本创建了一个棋盘。

总结

恭喜!你已完成本项目。你可以在 LabEx 中练习更多实验来提高你的技能。

✨ 查看解决方案并练习✨ 查看解决方案并练习✨ 查看解决方案并练习✨ 查看解决方案并练习