麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux Shell編程繪制國(guó)際象棋棋盤(pán)

2019-10-26 18:59:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這兩天在學(xué)習(xí)一些shell編程的知識(shí),在做到一道國(guó)際象棋的題目時(shí),覺(jué)得有些意思,就將它寫(xiě)成博客。

先來(lái)看看國(guó)際象棋棋盤(pán)長(zhǎng)啥樣:

仔細(xì)想了會(huì)棋盤(pán)的分布規(guī)則,這個(gè)問(wèn)題肯定有很多思路,我自己想到的是規(guī)則是

1.將棋盤(pán)行數(shù)作為一個(gè)大循環(huán),循環(huán)8次,每次循環(huán)根據(jù)行號(hào)的奇偶來(lái)確定格子顏色的次序;
2.在單個(gè)行中,循環(huán)8次并判斷列的奇偶數(shù)來(lái)確定打印顏色

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

上圖通過(guò)echo打印了3個(gè)紅色的空格并非正方形,并且可以看到最后一行的綠色光標(biāo)并非正方形,它構(gòu)成了整個(gè)棋盤(pán)的最小打印單元,那我就需要控制單行中空格個(gè)數(shù)以及由多少行空格組成一個(gè)規(guī)則正方行,如下圖

上圖中,熒光部分seq 2控制打印兩行,熒光%4s部分控制每行打印多少個(gè)空格,通過(guò)/n/c來(lái)控制一次循環(huán)后換行的問(wèn)題。

綜上,怎個(gè)棋盤(pán)就分成當(dāng)行打印由兩個(gè)循環(huán)來(lái)控制寬度和高度,由一個(gè)判斷語(yǔ)句根據(jù)循環(huán)次數(shù)的奇偶來(lái)控制打印顏色;在此基礎(chǔ)上再加上一個(gè)控制打印整個(gè)棋盤(pán)8行的大循環(huán),并且使用一個(gè)判斷語(yǔ)句來(lái)根據(jù)循環(huán)次數(shù)的奇偶數(shù)來(lái)控制每行的顏色和上下行的顏色錯(cuò)開(kāi)。打印結(jié)果如下:

在以上基礎(chǔ)上,實(shí)現(xiàn)用戶可自定義的棋盤(pán)格子的長(zhǎng)寬,以及自定義的顏色。
基本原理是在:

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

其中變量COL1是棋盤(pán)的第一種顏色,變量WI是棋盤(pán)單個(gè)格子的寬度。高度則帶入給變量賦值后當(dāng)作循環(huán)的次數(shù)。注意這里的寬度/高度最小單元是一個(gè)光標(biāo)的寬度和高度。

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

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 藍(lán)底白字 /033[0m"
echo -e "/033[45;37m 紫底白字 /033[0m"
echo -e "/033[46;37m 天藍(lán)底白字 /033[0m"
echo -e "/033[47;30m 白底黑字 /033[0m"

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品色综合 | 欧美三区在线 | 狠狠干狠狠操 | 久久亚洲精品久久国产一区二区 | 广州毛片 | 国产精品视频一区二区三区四 | 日韩精品中文字幕一区二区 | 热99在线视频| 久久久一区二区三区精品 | 免费一级特黄毛片视频 | 成人性生活视频在线观看 | av色哟哟 | 久久视频精品 | 国产美女精品视频 | 精品久久久久久综合日本 | 成人福利电影在线观看 | 精品国产九九九 | 精品成人免费视频 | 精品亚洲一| 在线播放免费播放av片 | 欧美视频在线观看一区 | 特一级黄色毛片 | 国产欧美亚洲精品a | 麻豆传传媒久久久爱 | 91在线免费观看 | 国产v综合v亚洲欧美久久 | 斗罗破苍穹在线观看免费完整观看 | 成人在线视频网 | xnxx 日本免费 | 国产电影精品久久 | 黄色网址电影 | 久久蜜桃精品一区二区三区综合网 | 国产精品久久久久久久久久尿 | 黑人一区二区三区四区五区 | 久久久久免费精品国产小说色大师 | 视频一区二区中文字幕 | 一级毛片电影网 | 精品久久久久久亚洲精品 | 欧美a久久 | 免费视频a | 国产精品美女久久久免费 |