shell编程之俄罗斯方块

按键获取:

向上  ^[[A

向下  ^[[B

向左  ^[[D

向右  ^[[C

其中  ^[为ESC键。

 

按键获取的具体shell代码如下所示:

#! /bin/bash

GetKey()
{
    akey=(0 0 0)     #数组

    cESC=`echo -ne "\033"`    #非打印字符
    cSpace=`echo -ne "\040"`
    
    while :
    do
        read -s -n 1 key
        echo $key
        echo XXX

        akey[0]=${akey[1]}
        akey[1]=${akey[2]}
        akey[2]=${key}

        if [[ $key == $cESC && ${akey[1]} == $cESC ]]        #双方括号  shell条件测试
        then
            MyExit
        elif [[ ${akey[0]} == $cESC && ${akey[1]} == "[" ]]
        then
            if  [[  $key == "A" ]];then echo KEYUP
            elif [[  $key == "B" ]];then echo KEYDOWN
            elif [[  $key == "D" ]];then echo KEYLEFT
            elif [[  $key == "C" ]];then echo KEYRIGHT

            fi
        fi

    done

}

GetKey

 

俄罗斯方块棋盘绘制:

首先关注几个光标效果:

\033[0m    关闭所有属性            \033[1m      设置高亮度            \033[4m      下划线            \033[5m      闪烁            \033[7m      反显            \033[8m      消隐

\033[30m -- \033[37m  显示前景色

\033[40m -- \033[47m  显示背景色

 

posted on 2019-05-07 14:49  wsw_seu  阅读(298)  评论(0编辑  收藏  举报

导航