登陆论坛
|
论坛注册
|
加入收藏
|
设为首页
|
RSS
首页
Linux频道
软件下载
开发语言
技术论坛
嵌入式频道
|
数据库开发
|
WEB开发
|
软件开发
|
嵌入应用
|
内核研究
|
SHELL
|
输入您的搜索字词
提交搜索表单
您当前的位置:
首页
>
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.
2
/
3
|‹
‹‹
1
2
3
››
›|
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
相关文章
无相关信息
栏目更新
栏目热门
站内搜索:
Linux频道
下载频道
图库
商品
嵌入式频道
高级搜索
网站首页
|
关于我们
|
服务条款
|
广告服务
|
联系我们
|
网站大全
|
免责声明
|
返回顶部
Copyright © 2007-2008 xxlinux.com, All rights reserved.
Powered by linux联盟
京ICP备05012402号