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  显示背景色

  • 相关阅读:
    【CF617D】Roads in Yusland
    对偶问题
    【LG3722】[HNOI2017]影魔
    [HEOI2017] 相逢是问候
    [SHOI2009] 会场预约
    [SCOI2007] 修车
    [CTSC2008] 网络管理
    [国家集训队] 礼物
    [Poetize6] IncDec Sequence
    [网络流24题] 魔术球问题
  • 原文地址:https://www.cnblogs.com/wsw-seu/p/10825430.html
Copyright © 2011-2022 走看看