8月27日 用while循环实现打印大的国际象棋和小的国际象棋的方法

1、小的国际象棋

#!/bin/bash
i=1
while [ $i -le 8 ];do
      j=1
    while [ $j -le 8 ];do
     let k=i+j
   if [ $[k%2] -eq 0 ];then  
     echo -en "\033[41m  \033[0m"  ---打印2个空格
   else
      echo -en "\033[43m  \033[0m"   ---打印2个空格
   fi
          let j++
    done
       echo 
             let i++
done
Paste_Image.png

总结:小的国际象棋需要打印8行8列,每一列的8种颜色是根据,行数+列数为奇数打印一种颜色,为偶数打印另外一种颜色来实现的。

大的国际象棋

#!/bin/bash
i=1
while [ $i -le 16 ];do
      j=1
    while [ $j -le 8 ];do
  case $i in
3|4|7|8|11|12|15|16)
        if [ $[j%2] -eq 0 ];then
     echo -en "\033[41m    \033[0m"   ---打印4个空格
      else
      echo -en "\033[43m    \033[0m"---打印4个空格
       fi
       ;;
*)
         if [ $[j%2] -eq 0 ];then
     echo -en "\033[43m    \033[0m"  ---打印4个空格
      else
      echo -en "\033[41m    \033[0m"   ---打印4个空格
       fi
       ;;
esac
          let j++
    done
       echo 
             let i++
done
Paste_Image.png

总结:大的国际象棋需要打印16行8列,每一列的8中颜色是根据,奇数列打印一种颜色,偶数列打印另外一种颜色,但打印之前先判断是否是3|4|7|8|11|12|15|16这些行,如果是这些行,打印列的时候奇数行和偶数行的颜色正好相反。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容