shell脚本打印国际象棋棋盘

 更新时间:2019年05月22日 15:55:17   作者:njohao  
这篇文章主要为大家详细介绍了shell脚本打印国际象棋棋盘,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了shell打印国际象棋棋盘的具体代码,供大家参考,具体内容如下

代码如下:

#!/bin/bash

#set chess cell's width
read -p "Please set the chess cell's width( two space width as unit ):" width
if [[ $width =~ "^[0-9]+$" ]];then
 echo "wrong width setting, check your input and try again."
 exit
fi
let width=$width*2

#choose player's board cell color
player="player1"
PS3="Which color do you want to set for $player :"
select choice in red green yellow blue purple cyan white;do
 case $REPLY in
 [1-7])
 if [[ $player == player2 ]];then
  declare -i color2=$REPLY
  break
 else
  declare -i color1=$REPLY
 fi
 player="player2"
 PS3="Which color do you want to set for $player :"
 ;;
 *)
 ;;
 esac
done
if (( color1==color2 ));then
 echo "two player must choose different color, check your choice and try again."
 exit
fi

#print the chess board
for (( i=0; i<4; i++ )); do
 for (( j=0; j<$width/2; j++ ));do
 for (( k=0; k<4; k++ ));do
  echo -e "\e[4${color1}m$(printf %${width}s)\e[0m\c"
  echo -e "\e[4${color2}m$(printf %${width}s)\e[0m\c"
 done
 echo
 done
 for (( j=0; j<$width/2; j++ ));do
 for (( k=0; k<4; k++ ));do
  echo -e "\e[4${color2}m$(printf %${width}s)\e[0m\c"
  echo -e "\e[4${color1}m$(printf %${width}s)\e[0m\c"
 done
 echo
 done
done

参考文章:

Linux Shell编程绘制国际象棋棋盘

Shell 教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 三分钟学会Linux基本指令

    三分钟学会Linux基本指令

    本文小马将把Linux一般比较常见的指令给大家一一列举出来,为了大家忘记某些指令后,可以方便查询记忆,再次小马建议,Linux指令并不需要去特别花时间专门记忆,只需要多进行操作实现就行,这篇文章主要介绍了Linux基本指令,需要的朋友可以参考下
    2022-12-12
  • Linux 中 tar 命令详解

    Linux 中 tar 命令详解

    这篇文章主要,给大家带来的是 Linux 命令系列,要介绍的是一个常用且强大的命令:tar,文中代码示例介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • 工作中使用Shell实用脚本

    工作中使用Shell实用脚本

    本文主要介绍了一些在工作上常用的Shell实用脚本,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Linux下快速比较两个目录的不同(多种方法)

    Linux下快速比较两个目录的不同(多种方法)

    这篇文章主要介绍了Linux下快速比较两个目录的不同,本文给大家带来了多种方法,非常不错,具有一定的参考借鉴价值,感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • Linux重命名文件和文件夹的两种方法

    Linux重命名文件和文件夹的两种方法

    这篇文章主要介绍了Linux重命名文件和文件夹的两种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-12-12
  • linux下使用perl获取本机ip的几种方法介绍

    linux下使用perl获取本机ip的几种方法介绍

    需要获取本机ip有很多种情景,比如做分布式处理的时候。那么,如何在worker脚本里获取本机ip?本文列举了一系列的方法,有长有短,各有优劣,有shell有perl有python
    2013-02-02
  • Linux 删除文件夹和文件的命令(强制删除包括非空文件)

    Linux 删除文件夹和文件的命令(强制删除包括非空文件)

    linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。接下来通过本文给大家介绍Linux 删除文件夹和文件的命令(强制删除包括非空文件),感兴趣的朋友跟随脚本之家小编一起学习吧
    2018-05-05
  • linux下防火墙开启某个端口号及防火墙常用命令使用(详解)

    linux下防火墙开启某个端口号及防火墙常用命令使用(详解)

    下面小编就为大家带来一篇linux下防火墙开启某个端口号及防火墙常用命令使用(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Shell echo、printf、test命令的具体使用

    Shell echo、printf、test命令的具体使用

    本文主要介绍了Shell echo、printf、test命令的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • 详解Shell 脚本中 “$” 符号的多种用法

    详解Shell 脚本中 “$” 符号的多种用法

    这篇文章主要介绍了详解Shell 脚本中 '$' 符号的多种用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05

最新评论