zoukankan      html  css  js  c++  java
  • shell版俄罗斯方块一:方向键获取 分类: shell版俄罗斯方块 2015-07-27 09:00 114人阅读 评论(0) 收藏

    按键通常不是由单个字符构成:如方向键上(^[[A)、下(^[[B)、左(^[[C)、右(^[[D),退出键ESC(^[);方向键的前两个字符的表示方式和ESC的表示方法是一样的。

    shell脚本如下:

    #!/bin/bash
    
    #Program:
    #     this is a program for test key
    #History:
    #     Walker    version:first
    
    GetKey()
    {
    	aKey=(0 0 0)
    
            cESC=`echo -ne "33"`  #注意,这不是单引号,是ESC下面那个,里面的指令会先执行,并将结果赋值
    
    	while :#':'表示永远为真
    	do
    		read -s -n 1 key #读取按键,每次只能读取一个ASCII字符
    		echo $key
    #		echo XXX
    
        	        aKey[0]=${aKey[1]}
    		aKey[1]=${aKey[2]}
    		aKey[2]=$key
    
    
    		if [[ ${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


  • 相关阅读:
    K
    A
    2017 Multi-University Training Contest
    第一章 概述
    校赛F 比比谁更快(线段树)
    POJ 3683 Priest John's Busiest Day
    POJ 2186 Popular Cows
    第十五周讨论
    线段树模板(单点更新,区间更新,RMQ)
    2-SAT问题(白书)
  • 原文地址:https://www.cnblogs.com/zclzqbx/p/4687038.html
Copyright © 2011-2022 走看看