shell版俄罗斯方块(zt)

感谢楼主发那么强的代码,我试过了,可以用的,请像我一样的菜鸟放心阅读。

这样的学习机会怎么能放过?      
我曾玩过javascript  的      
高手!我学学!      
源文件有一段代码如下:
#根据当前的速度级iLevel不同,设定相应的循环的次数
      for ((i = 0; i < 21 - iLevel; i++))
      do
         usleep 20000
         sigThis=$sig
         sig=0
其中的 usleep 命令没找到。我将其改为 sleep 0.01,也能正常运行。
不知 usleep 为什么命令      
sleep 是按秒计数的,usleep 是按微秒的      
但Ubuntu6.06系统默认无此命令。
是内置命令吗?      
Red Hat 9.0 上有:
复制内容到剪贴板
代码:
[color=blue]-(dearvoid@LinuxEden:tty3)-(/)-
[25653 0] #[/color] which usleep
/bin/usleep
[color=blue]-(dearvoid@LinuxEden:tty3)-(/)-
[25653 0] #[/color] which usleep | x rpm -qf
initscripts-7.13-1
[color=blue]-(dearvoid@LinuxEden:tty3)-(/)-
[25653 0] #[/color] date ; usleep 1000000 ; date
Wed Nov  1 10:17:04 CST 2006
Wed Nov  1 10:17:05 CST 2006
[color=blue]-(dearvoid@LinuxEden:tty3)-(/)-
[25653 0] #[/color] o
      
谢谢。

搜了一下 ,Ubuntu系统 usleep命令得装个包,不过没找到      
#七中不同的方块的定义
#通过旋转,每种方块的显示的样式可能有几种
box0=(0 0 0 1 1 0 1 1)
box1=(0 2 1 2 2 2 3 2 1 0 1 1 1 2 1 3)
box2=(0 0 0 1 1 1 1 2 0 1 1 0 1 1 2 0)
box3=(0 1 0 2 1 0 1 1 0 0 1 0 1 1 2 1)
box4=(0 1 0 2 1 1 2 1 1 0 1 1 1 2 2 2 0 1 1 1 2 0 2 1 0 0 1 0 1 1 1 2)
box5=(0 1 1 1 2 1 2 2 1 0 1 1 1 2 2 0 0 0 0 1 1 1 2 1 0 2 1 0 1 1 1 2)
box6=(0 1 1 1 1 2 2 1 1 0 1 1 1 2 2 1 0 1 1 0 1 1 2 1 0 1 1 0 1 1 1 2)
#所有其中方块的定义都放到box变量中
box=(${box0[@]} ${box1[@]} ${box2[@]} ${box3[@]} ${box4[@]} ${box5[@]} ${box6[@]})
#各种方块旋转后可能的样式数目
countBox=(1 2 2 2 4 4 4)
#各种方块再box数组中的偏移
offsetBox=(0 1 3 5 7 11 15)
-------------------------------
哪位大哥能详细讲解一下!      
找到了,需自己编译的
#include <stdio.h>
int main(int argc, char **argv)
{
   if (argc != 2) {
      fprintf(stderr, "arams error.\n");
      return -1;
   }
   usleep(atoi(argv[1]));
   return 0;
}