| 论坛注册| 加入收藏 | 设为首页| RSS
Google
您当前的位置:首页 > Linux频道 > Linux开发区 > SHELL

SCO、Linux下的shell五子棋小游戏

时间:2006-09-12 18:03:10  来源:Linux联盟收集  作者:Linux联盟收集
/>  L 6 28;echo $white_b"                      "$black_w gzZLinux联盟
  L 7 28;echo $white_b"    "$run$1"!!!     "$black_w"  "$black_w gzZLinux联盟
  L 8 28;echo $white_b"   再来一盘否[y|n]?   "$black_w"  "$black_w gzZLinux联盟
  L 9 28;echo $white_b"                      "$black_w"  "$black_w gzZLinux联盟
  L 10 30;echo "                      " gzZLinux联盟
key=`getchar` gzZLinux联盟
case $key in gzZLinux联盟
 y) gzZLinux联盟
  init_ gzZLinux联盟
  count=`expr $count + 1` gzZLinux联盟
  L 23 36;echo "第 $count 局" gzZLinux联盟
  break;; gzZLinux联盟
 n) gzZLinux联盟
  clear;cat abc gzZLinux联盟
  L 7 30;echo $blue_b"                  "$black_w    gzZLinux联盟
  L 8 30;echo $blue_b"    "!!!再见!!!"    "$black_w"  "$black_w gzZLinux联盟
  L 9 30;echo $blue_b"                  "$black_w"  "$black_w gzZLinux联盟
  L 10 30;echo $blue_b"  "Author: c1l2d3"  "$black_w"  "$black_w gzZLinux联盟
  L 11 30;echo $blue_b"                  "$black_w"  "$black_w gzZLinux联盟
  L 12 32;echo $black_w"                  "$black_w gzZLinux联盟
  tput cnorm gzZLinux联盟
  rm yyy;exit;; gzZLinux联盟
 *);; gzZLinux联盟
esac gzZLinux联盟
done gzZLinux联盟
} gzZLinux联盟
gzZLinux联盟
award()  #判断输赢函数 gzZLinux联盟
{ gzZLinux联盟
cat abc|sed -n 18,"$"p|awk -F";" '{print $1,$2,$4}'|sed 's/^..//' gzZLinux联盟
|awk '{print $1,$2,substr($3,2,1)}' >yyy               # 计算输赢临时文件      gzZLinux联盟
grep "$qs$" yyy|sort -r -n +0 +1|awk '$2+=(NR*2)' gzZLinux联盟
|uniq -c|awk '{print $1}'|grep '[5-9]' >/dev/null 2>&1 gzZLinux联盟
if [ $? -eq 0 ];then sy;sy1 "棋赢啦!   ";fi            # 横连子>=5        gzZLinux联盟
grep "$qs$" yyy|sort -r -n +1|awk '$1+=NR' gzZLinux联盟
|uniq -c|awk '{print $1}'|grep '[5-9]' >/dev/null 2>&1 gzZLinux联盟
if [ $? -eq 0 ];then sy;sy1 "棋赢啦!   ";fi           # 竖连子>=5        gzZLinux联盟
grep "$qs$" yyy|sort -r -n +0 +1|awk '$1=$1+$2/2'|sort -r -n gzZLinux联盟
|awk '$2+=(NR*2)'|uniq -c|awk '{print $1}'|grep '[5-9]' >/dev/null 2>&1 gzZLinux联盟
if [ $? -eq 0 ];then sy;sy1 "棋赢啦!   ";fi            # 右斜连子>=5 gzZLinux联盟
grep "$qs$" yyy|sort -r -n +0 +1|awk '$1=$1-$2/2'|sort -r -n gzZLinux联盟
|awk '$2+=(NR*2)'|uniq -c|awk '{print $1}'|grep '[5-9]' >/dev/null 2>&1 gzZLinux联盟
if [ $? -eq 0 ];then sy;sy1 "棋赢啦!   ";fi            # 左斜连子>=5 gzZLinux联盟
} gzZLinux联盟
gzZLinux联盟
count=1    #局数 gzZLinux联盟
while true gzZLinux联盟
do gzZLinux联盟
 L 1 4;echo $white_b" 【执白方】 "$black_w gzZLinux联盟
 L 4 5;echo $gray_b" a---左移 "$black_w gzZLinux联盟
 L 6 5;echo $gray_b" d---右移 "$black_w gzZLinux联盟
 L 8 5;echo $gray_b" w---上移 "$black_w gzZLinux联盟
 L 10 5;echo $gray_b" s---下移 "$black_w gzZLinux联盟
 L 12 5;echo $gray_b" p---落子 "$black_w gzZLinux联盟
 L 14 5;echo $gray_b" ]---投降 "$black_w gzZLinux联盟
 L 1 62;echo $white_b" 【执黑方】 "$black_w gzZLinux联盟
 L 4 63;echo $gray_b" 4---左移 "$black_w gzZLinux联盟
 L 6 63;echo $gray_b" 6---右移 "$black_w gzZLinux联盟
 L 8 63;echo $gray_b" 8---上移 "$black_w gzZLinux联盟
 L 10 63;echo $gray_b" 5---下移 "$black_w gzZLinux联盟
 L 12 63;echo $gray_b" 9---落子 "$black_w gzZLinux联盟
 L 14 63;echo $gray_b" 0---投降 "$black_w gzZLinux联盟
 L 22 1;echo -n gzZLinux联盟
 L 23 36;echo "第 $count 局" gzZLinux联盟
 cc=`getchar` gzZLinux联盟
case $cc in gzZLinux联盟
 a|4) gzZLinux联盟
  if [ $ss -eq 0 ] && [ "$cc" = "a" ];then left;fi gzZLinux联盟
  if [ $ss -eq 1 ] && [ "$cc" = "4" ];then left;fi;; gzZLinux联盟
 d|6) gzZLinux联盟
  if [ $ss -eq 0 ] && [ "$cc" = "d" ];then right;fi gzZLinux联盟
  if [ $ss -eq 1 ] && [ "$cc" = "6" ];then right;fi;; gzZLinux联盟
 s|5) gzZLinux联盟
  if [ $ss -eq 0 ] && [ "$cc" = "s" ];then down;fi gzZLinux联盟
  if [ $ss -eq 1 ] && [ "$cc" = "5" ];then down;fi;; gzZLinux联盟
 w|8) gzZLinux联盟
  if [ $ss -eq 0 ] && [ "$cc" = "w" ];then up;fi gzZLinux联盟
  if [ $ss -eq 1 ] && [ "$cc" = "8" ];then up;fi;; gzZLinux联盟
 m) gzZLinux联盟
   run="此局和棋!    ";sy1;; gzZLinux联盟
 p|9) gzZLinux联盟
  if [ $ss -eq 0 ] && [ "$cc" = "p" ];then gzZLinux联盟
   sed -n 18,"$"p abc|grep "[$a1;$a2" 2>&1  gzZLinux联盟
   if [ $? -eq 0 ];then L 10 32;echo "  此处已有棋...";tput bel;sleep 1 gzZLinux联盟
     write=$green_b白$black_w gzZLinux联盟
     sss=0 gzZLinux联盟
   else gzZLinux联盟
      mm=`L $a1 $a2`[$color2●$black_w gzZLinux联盟
     echo $mm>>abc gzZLinux联盟
     write=$green_b黑$black_w gzZLinux联盟
     sss=1 gzZLinux联盟
   fi gzZLinux联盟
   sort -t"[" -n +1 abc gzZLinux联盟
   qs=7 gzZLinux联盟
   award;tput bel    gzZLinux联盟
  fi gzZLinux联盟
  if [ $ss -eq 1 ] && [ "$cc" = "9" ];then gzZLinux联盟
   sed -n 18,"$"p abc|grep "[$a1;$a2" 2>&1  gzZLinux联盟
   if [ $? -eq 0 ];then L 10 32;echo "  此处已有棋...";tput bel;sleep 1 gzZLinux联盟
     write=$green_b黑$black_w gzZLinux联盟
     sss=1 gzZLinux联盟
   else gzZLinux联盟
      mm=`L $a1 $a2`"[$color1●$black_w" gzZLinux联盟
     echo $mm>>abc gzZLinux联盟
     write=$green_b白$black_w gzZLinux联盟
     sss=0 gzZLinux联盟
   fi gzZLinux联盟
   sort -t"[" -n +1 abc gzZLinux联盟
   qs=0 gzZLinux联盟
   award;tput bel gzZLinux联盟
  fi gzZLinux联盟
   ss=$sss;;  # 落子方不允许再走,等待对方走棋 gzZLinux联盟
 0|]) gzZLinux联盟
   if [ "$cc" = "]" ];then go="白";run="白";bs=`expr $bs + 1` gzZLinux联盟
     by=`expr $by + 0` gzZLinux联盟
     bsy=`expr $by - $bs` gzZLinux联盟
     hy=$bs;hs=$by;hsy=`expr $hy - $hs` gzZLinux联盟
     sss=0 gzZLinux联盟
   else go="黑";run="黑";hs=`expr $hs + 1`;hy=`expr $hy + 0` gzZLinux联盟
     hsy=`expr $hy - $hs` gzZLinux联盟
     by=$hs;bs=$hy;bsy=`expr $by - $bs` gzZLinux联盟
     sss=1 gzZLinux联盟
   fi gzZLinux联盟
     ss=$sss  #谁投降谁下一局先走 gzZLinux联盟
   sy1 "棋投降啦";; gzZLinux联盟
 c) gzZLinux联盟
   md=$ccc    # 变换棋盘颜色 gzZLinux联盟
    if [ $md -eq 1 ];then gzZLinux联盟
     def1=`expr substr $gray_b 3 8`;def2=`expr substr $gray_w 3 8` gzZLinux联盟
     color1=`expr substr $brown_b 3 6`;color2=`expr substr $brown_w 3 6` gzZLinux联盟
     sed 's/'$def1'/'$color1'/g' abc|sed 's/'$def2'/'$color2'/g' >abc.tmp gzZLinux联盟
     mv abc.tmp abc gzZLinux联盟
     cat abc gzZLinux联盟
     ccc=`expr $ccc + 1` gzZLinux联盟
    fi    # 桔黄色 gzZLinux联盟
    if [ $md -eq 2 ];then gzZLinux联盟
     def1=`expr substr $brown_b 3 6`;def2=`expr substr $brown_w 3 6` gzZLinux联盟
     color1=`expr substr $lt_blue_b 3 8`;color2=`expr substr $lt_blue_w 3 8` gzZLinux联盟
     sed 's/'$def1'/'$color1'/g' abc|sed 's/'$def2'/'$color2'/g' >abc.tmp gzZLinux联盟
     mv abc.

来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
    无相关信息
栏目更新
栏目热门