zoukankan      html  css  js  c++  java
  • shell编程之俄罗斯方块

    按键获取:

    向上  ^[[A

    向下  ^[[B

    向左  ^[[D

    向右  ^[[C

    其中  ^[为ESC键。

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

    #! /bin/bash
    
    GetKey()
    {
        akey=(0 0 0)     #数组
    
        cESC=`echo -ne "33"`    #非打印字符
        cSpace=`echo -ne "40"`
        
        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

    俄罗斯方块棋盘绘制:

    首先关注几个光标效果:

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

    33[30m -- 33[37m  显示前景色

    33[40m -- 33[47m  显示背景色

  • 相关阅读:
    log4j日志配置
    map和java对象的转换方法
    阿里巴巴的json使用时的一些转换方法
    HttpClient发送Post和Get请求
    IT网站导航
    python学习
    git解决冲突
    协程
    Python实现协程
    异步任务神器 和定时任务Celery
  • 原文地址:https://www.cnblogs.com/wsw-seu/p/10825430.html
Copyright © 2011-2022 走看看