shell 俄罗斯方块 杂记

按键

Esc='^['

上='^[[A' 

下='^[[B' 

左='^[[D' 

右='^[[C'

俄罗斯方块共有7大种,分别又有旋转变化countBox=(1 2 2 2 4 4 4)

比如(0 0 0 1 1 0 1 1)表示“田”型方块,分解成4个坐标点(0,0)(0,1)(1,0)(1,1)

${#a[@]}表示数组元素个数

 

read -s -n 1 key

if [[ "[$key]" == "[]" ]]; then sig=$sigAllDown #判断输入空格键

 

sTTY=`stty -g` 保存当前终端属性

stty $sTTY   恢复终端属性

 

主要使用的ANSI控制码

Linux终端ANSI控制码如下
 
格式: 33[字背景颜色;字体颜色m字符串 33[0m
printf(" 33[41;32m字体背景是红色,字是绿色 33[0m "); 
41是字背颜色, 32是字体的颜色, 字体背景是红色,字是绿色是字符串. 后面的 33[0m是控制码.
  www.2cto.com  
颜色代码: 
QUOTE: 
字背景颜色范围: 40--49 字颜色: 30--39
 
40: 黑 30: 黑 
41: 红 31: 红 
42: 绿 32: 绿 
43: 黄 33: 黄 
44: 蓝 34: 蓝 
45: 紫 35: 紫 
46: 深绿 36: 深绿 
47: 白色 37: 白色
 
ANSI控制码: 
QUOTE: