亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Linux > 正文

Linux Shell編程繪制國際象棋棋盤

2019-10-26 18:59:43
字體:
來源:轉載
供稿:網友

這兩天在學習一些shell編程的知識,在做到一道國際象棋的題目時,覺得有些意思,就將它寫成博客。

先來看看國際象棋棋盤長啥樣:

仔細想了會棋盤的分布規則,這個問題肯定有很多思路,我自己想到的是規則是

1.將棋盤行數作為一個大循環,循環8次,每次循環根據行號的奇偶來確定格子顏色的次序;
2.在單個行中,循環8次并判斷列的奇偶數來確定打印顏色

以上思路能夠打印出最簡單的棋盤,但是shell中一個空格的顯示形狀并非正方形,而且是空格的高度大于寬度。因此需要在單個棋盤的行的打印循環外在加一層控制打印空格行數的循環,以下圖可能對理解有些幫助:

上圖通過echo打印了3個紅色的空格并非正方形,并且可以看到最后一行的綠色光標并非正方形,它構成了整個棋盤的最小打印單元,那我就需要控制單行中空格個數以及由多少行空格組成一個規則正方行,如下圖

上圖中,熒光部分seq 2控制打印兩行,熒光%4s部分控制每行打印多少個空格,通過/n/c來控制一次循環后換行的問題。

綜上,怎個棋盤就分成當行打印由兩個循環來控制寬度和高度,由一個判斷語句根據循環次數的奇偶來控制打印顏色;在此基礎上再加上一個控制打印整個棋盤8行的大循環,并且使用一個判斷語句來根據循環次數的奇偶數來控制每行的顏色和上下行的顏色錯開。打印結果如下:

在以上基礎上,實現用戶可自定義的棋盤格子的長寬,以及自定義的顏色。
基本原理是在:

echo -e "/033[1;4$[$COL1]m`printf "%$[$WI]s"`/033[0m/c"

其中變量COL1是棋盤的第一種顏色,變量WI是棋盤單個格子的寬度。高度則帶入給變量賦值后當作循環的次數。注意這里的寬度/高度最小單元是一個光標的寬度和高度。

高度,寬度的問題解決了,還有控制選擇顏色的問題。在bash中默認顏色有以下幾種:

echo -e "/033[40;37m 黑底白字 /033[0m"
echo -e "/033[41;37m 紅底白字 /033[0m"
echo -e "/033[42;37m 綠底白字 /033[0m"
echo -e "/033[43;37m 黃底白字 /033[0m"
echo -e "/033[44;37m 藍底白字 /033[0m"
echo -e "/033[45;37m 紫底白字 /033[0m"
echo -e "/033[46;37m 天藍底白字 /033[0m"
echo -e "/033[47;30m 白底黑字 /033[0m"

其中的數字40-47分別代表對應背景顏色,這里不需要打印前景字體所以不需要30-37數字。另外剔除黑色背景

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品27p| 91精品国产综合久久香蕉| 欧美日韩成人在线视频| 亚洲人在线观看| 久久亚洲成人精品| 97免费中文视频在线观看| 久久天天躁狠狠躁夜夜av| 在线播放精品一区二区三区| 欧洲亚洲女同hd| 97国产一区二区精品久久呦| 亚洲一区中文字幕| 色偷偷888欧美精品久久久| 在线精品国产成人综合| 国产精品第七十二页| 久久久国产精彩视频美女艺术照福利| 久久五月天综合| 久久九九国产精品怡红院| 中文亚洲视频在线| 久久久久九九九九| 91久久久国产精品| 亚洲人成在线免费观看| 日韩av不卡电影| 亚洲免费影视第一页| 66m—66摸成人免费视频| 欧美高清视频免费观看| 亚洲第一天堂无码专区| 社区色欧美激情 | 精品在线观看国产| 九九热最新视频//这里只有精品| 日韩中文字在线| 亚洲人成网站999久久久综合| 国产精品啪视频| 欧美日韩国产精品一区二区不卡中文| 亚洲bt天天射| 亚洲成人a级网| 日本欧美黄网站| 日韩精品在线免费观看| 日韩在线中文视频| 色婷婷av一区二区三区久久| 亚洲精品成人av| 国产欧美日韩中文字幕在线| 国产精品欧美一区二区三区奶水| 国产成人精品久久二区二区91| 国产精品人人做人人爽| 亚洲第一男人av| 亚洲wwwav| 亚洲一级片在线看| 日韩中文字幕第一页| 国产欧美日韩免费| 亚洲va欧美va国产综合剧情| 国产精品青青在线观看爽香蕉| 欧美在线中文字幕| 亚洲色图35p| 国产视频丨精品|在线观看| www.欧美免费| 欧美激情视频一区二区三区不卡| 久久久久久久久久久网站| 精品无人国产偷自产在线| 亚洲精品国产精品自产a区红杏吧| 欧美大片在线看免费观看| 国产一区欧美二区三区| 丝袜一区二区三区| 日韩网站免费观看| 丝袜亚洲欧美日韩综合| 日韩网站免费观看高清| 久久影视电视剧免费网站清宫辞电视| 欧美激情精品久久久久| 亚洲一区二区三区乱码aⅴ蜜桃女| 51精品国产黑色丝袜高跟鞋| 亚洲欧洲免费视频| 欧美香蕉大胸在线视频观看| 黑人狂躁日本妞一区二区三区| 亚洲女同精品视频| 欧美精品生活片| 91精品国产91久久久| 国产精品国产福利国产秒拍| 91av中文字幕| 亚洲国产日韩精品在线| 在线播放国产一区二区三区| 亚洲精品www| 2021久久精品国产99国产精品| 久久综合久中文字幕青草| 精品久久久精品| 欧美日韩国产999| 久久中文字幕国产| 夜夜躁日日躁狠狠久久88av| 久久国产精品视频| 国产精品高潮呻吟久久av黑人| 亚洲新声在线观看| 日韩成人免费视频| 欧美日韩亚洲网| 日本午夜人人精品| 国产精品69久久| 日韩激情第一页| 久久久久久91香蕉国产| 国产精品久久电影观看| 中文字幕日本欧美| 亚洲老头老太hd| 深夜精品寂寞黄网站在线观看| 成人国产精品一区二区| 一区二区三区美女xx视频| 久久综合五月天| 亚洲伊人成综合成人网| xvideos成人免费中文版| 亚洲一区二区国产| 亚洲国产小视频| 欧美视频在线观看免费| 欧美人与物videos| 欧美精品videosex极品1| 在线观看日韩av| 久久亚洲私人国产精品va| 韩日精品中文字幕| 欧美激情aaaa| 久久精品99久久久香蕉| 亚洲国产精品人久久电影| 欧美成人在线网站| 国产福利视频一区二区| 国模视频一区二区三区| 欧美性少妇18aaaa视频| 国外成人在线直播| 国产精品精品视频一区二区三区| 日韩精品在线观看一区| 国产精品流白浆视频| 久久久av亚洲男天堂| 亚洲欧美国产精品va在线观看| 国产男人精品视频| 日韩av电影手机在线观看| 国产精品久久久久一区二区| 精品女同一区二区三区在线播放| 亚洲精品v天堂中文字幕| 8050国产精品久久久久久| 亚洲美女动态图120秒| 91香蕉嫩草神马影院在线观看| 亚洲一区二区免费在线| **欧美日韩vr在线| 欧美精品久久久久久久久| 国产偷亚洲偷欧美偷精品| 久久成人精品一区二区三区| 色哟哟入口国产精品| 97精品伊人久久久大香线蕉| 欧美激情精品久久久久久变态| 欧美成年人在线观看| 亚洲精品在线视频| 欧美日韩亚洲一区二| 性色av一区二区三区红粉影视| 国产亚洲一区二区在线| 欧美高清在线观看| 亚洲欧美日本另类| 国产一区二区三区四区福利| 亚洲欧美视频在线| 欧美裸体xxxx极品少妇软件| 91av在线播放视频| 欧美大尺度电影在线观看| 国产精品爽黄69天堂a| 欧美国产日韩一区二区在线观看| 亚洲综合色激情五月| 97视频免费在线观看| 一区二区三区四区精品| 欧美插天视频在线播放| 九九热最新视频//这里只有精品| 精品国产欧美一区二区三区成人| 韩国精品美女www爽爽爽视频| 欧美高清电影在线看| 久久免费国产视频|