linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > Linux开发区 > SHELL >
栏目导栏
资料搜索
热门文章
·csh shell编程入门
·玩转Linux shell命令提示符
·Bourne Shell及shell编程
·Shell 编程实例集锦
·Linux下的shell编程入门
·Shell编程基础
·linux shell 编程基础
·shell基础十二篇
·Linux的Shell编程
·linux Shell编程入门 实例讲解
·Linux主要shell命令详解
·Linux shell 脚本实例一
·深入浅出Shell编程: Shell 变量
·shell命令(一)
·UNIX/LINUX SHELL 正则表达式语
最新文章
·Linux系统中加入自定义Shell为
·Shell学习:关于替换命令-tr-R
·Linux Shell学习:uniq命令使用
·uClinux操作系统下的shell功能
·Shell编程基础:单引号和双引号
·Linux操作系统下Shell语句元字
·Linux系统环境程序设计之路
·Linux Shell中PS命令中的%CPU的
·Linux Shell元字符知识笔记
·压缩命令-vi-认识SHELL-正规表
·Linux系统下Shell命令行快捷键
·谈Linux Shell下的输出重定向
·在Shell中执行vi/cp/mv时自动备
·shell数组介绍
·开启和关闭Shell特性的小技巧
Google
 
SCO、Linux下的shell五子棋小游戏
[ 作者:Linux联盟收集  加入时间:2006-09-12 18:03:10  来自:Linux联盟收集 ]

sco、linux测试通过,linux效果更好些。其它系统未测。 4n6Linux联盟
vm虚拟机中运行不太爽。4n6Linux联盟

CODE
4n6Linux联盟
#!/bin/sh 4n6Linux联盟
# Programname: five 4n6Linux联盟
# Author: CLD 4n6Linux联盟
# 2004.01 4n6Linux联盟
# 4n6Linux联盟
L() 4n6Linux联盟
{ 4n6Linux联盟
# 屏幕任意位置 4n6Linux联盟
 h=$1;l=$2 4n6Linux联盟
 echo -n "[$h;$l;H" 4n6Linux联盟
} 4n6Linux联盟
4n6Linux联盟
## 界面颜色控制变量 4n6Linux联盟
white_b=""        # 白底黑字 4n6Linux联盟
green_b=""        # 绿底黑字(移动棋字亮块) 4n6Linux联盟
blue_b=""         # 兰底白字 4n6Linux联盟
gray_b=""       # 灰底黑字 4n6Linux联盟
gray_w=""       # 灰底白字 4n6Linux联盟
black_w=""      # 黑底白字 4n6Linux联盟
# 棋盘换色控制变量 4n6Linux联盟
brown_b=""        # 桔黄底黑棋 4n6Linux联盟
brown_w=""        # 桔黄底白棋 4n6Linux联盟
mage_b=""         # 紫底黑棋 4n6Linux联盟
mage_w=""         # 紫底白棋 4n6Linux联盟
lt_blue_b=""    # 浅兰底黑棋 4n6Linux联盟
lt_blue_w=""    # 浅兰底白棋 4n6Linux联盟
4n6Linux联盟
kkk.gif() 4n6Linux联盟
{ 4n6Linux联盟
# 棋盘 4n6Linux联盟
 L 1 22;echo "$gray_b                                  $black_w" 4n6Linux联盟
 L 2 22;echo "$gray_b  ┏┯┯┯┯┯┯┯┯┯┯┯┯┯┓  $black_w" 4n6Linux联盟
 L 3 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 4 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 5 22;echo "$gray_b  ┠┼┼╋┼┼┼┼┼┼┼╋┼┼┨  $black_w" 4n6Linux联盟
 L 6 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 7 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 8 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 9 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 10 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 11 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 12 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 13 22;echo "$gray_b  ┠┼┼╋┼┼┼┼┼┼┼╋┼┼┨  $black_w" 4n6Linux联盟
 L 14 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 15 22;echo "$gray_b  ┠┼┼┼┼┼┼┼┼┼┼┼┼┼┨  $black_w" 4n6Linux联盟
 L 16 22;echo "$gray_b  ┗┷┷┷┷┷┷┷┷┷┷┷┷┷┛  $black_w" 4n6Linux联盟
 L 17 22;echo "$gray_b                                  $black_w" 4n6Linux联盟
} 4n6Linux联盟
4n6Linux联盟
getchar() 4n6Linux联盟
{ 4n6Linux联盟
 key=`stty -g` 4n6Linux联盟
 stty -echo 4n6Linux联盟
 stty raw 4n6Linux联盟
 dd if=/dev/tty bs=1 count=1 2>/dev/null 4n6Linux联盟
 stty -raw 4n6Linux联盟
 stty echo 4n6Linux联盟
 stty $key 4n6Linux联盟
} 4n6Linux联盟
       4n6Linux联盟
clear 4n6Linux联盟
kkk.gif 4n6Linux联盟
 L 5 34;echo " 五 子 棋 "    4n6Linux联盟
 L 10 24;echo "┌────游戏○设定────┐" 4n6Linux联盟
 L 11 24;echo "│                          │" 4n6Linux联盟
 L 12 24;echo "│  1_白先走  2_黑先走 [ ]  │" 4n6Linux联盟
 L 13 24;echo "│                          │" 4n6Linux联盟
 L 14 24;echo "└─────────────┘" 4n6Linux联盟
 L 12 48;echo -n 4n6Linux联盟
goo=`getchar` 4n6Linux联盟
case $goo in 4n6Linux联盟
 1) go="白";ss=0;sss=0;; 4n6Linux联盟
 2) go="黑";ss=1;sss=1;; 4n6Linux联盟
 *) clear;exit;; 4n6Linux联盟
esac 4n6Linux联盟
 by=0;bs=0;bsy=0;hy=0;hs=0;hsy=0  #初始化输赢局数 4n6Linux联盟
tput civis 4n6Linux联盟
4n6Linux联盟
help() 4n6Linux联盟
{ 4n6Linux联盟
L 16 3;echo "┏━━━━━━━┓" 4n6Linux联盟
L 16 57;echo "┏━━━━━━━┓" 4n6Linux联盟
L 17 3;echo "┃              ┃" 4n6Linux联盟
L 17 57;echo "┃              ┃" 4n6Linux联盟
L 18 3;echo "┃              ┃                                    ┃              ┃" 4n6Linux联盟
L 19 3;echo "┃ 赢盘数:      ┃┏━━━━━"$gray_b" m---和为贵 "$black_w"━━━━━┓┃ 赢盘数:      ┃" 4n6Linux联盟
L 20 3;echo "┃ 输盘数:      ┃┃ 友                          比 ┃┃ 输盘数:      ┃" 4n6Linux联盟
L 21 3;echo "┃              ┃┃ 谊   "$white_b"ress c change color"$black_w"   赛 ┃┃              ┃" 4n6Linux联盟
L 22 3;echo "┃              ┃┃ 第                          第 ┃┃              ┃" 4n6Linux联盟
L 23 3;echo "┃ 最后成绩:    ┃┃ 一                          二 ┃┃ 最后成绩:    ┃" 4n6Linux联盟
L 24 3;echo "┗━━━━━━━┛┗━━━━━━━━━━━━━━━━┛┗━━━━━━━┛" 4n6Linux联盟
} 4n6Linux联盟
4n6Linux联盟
init_(){   # 继续棋局初始化 4n6Linux联盟
kkk.gif >abc 4n6Linux联盟
a1=2      4n6Linux联盟
a2=38 4n6Linux联盟
b1=52 4n6Linux联盟
b2=16 4n6Linux联盟
write=$green_b$go$black_w 4n6Linux联盟
cat abc 4n6Linux联盟
L $a1 $a2;echo $write  # 棋子初始位置 4n6Linux联盟
ccc=1  #改变颜色次数 4n6Linux联盟
color1=`expr substr $gray_b 3 8`;color2=`expr substr $gray_w 3 8` #默认棋子颜色 4n6Linux联盟
L 19 13;echo $by;L 19 68;echo $hy 4n6Linux联盟
L 20 13;echo $bs;L 20 68;echo $hs 4n6Linux联盟
L 23 15;echo $bsy"  ";L 23 70;echo $hsy"  " 4n6Linux联盟
} 4n6Linux联盟
init_ 4n6Linux联盟
help 4n6Linux联盟
4n6Linux联盟
## 棋子移动函数 4n6Linux联盟
left(){    ##左移 4n6Linux联盟
if [ $a2 -eq 24 ];then a2=24;else a2=`expr $a2 - 2`;fi 4n6Linux联盟
sort -t"[" -n +1 abc 4n6Linux联盟
L $a1 $a2;echo $write 4n6Linux联盟
} 4n6Linux联盟
right(){   ##右移 4n6Linux联盟
if [ $a2 -eq $b1 ];then a2=$b1;else a2=`expr $a2 + 2`;fi 4n6Linux联盟
sort -t"[" -n +1 abc 4n6Linux联盟
L $a1 $a2;echo $write 4n6Linux联盟
} 4n6Linux联盟
down(){    ##下移 4n6Linux联盟
if [ $a1 -eq $b2 ];then a1=$b2;else a1=`expr $a1 + 1`;fi 4n6Linux联盟
sort -t"[" -n +1 abc 4n6Linux联盟
L $a1 $a2;echo $write 4n6Linux联盟
} 4n6Linux联盟
up(){     ##上移 4n6Linux联盟
if [ $a1 -eq 2 ];then a1=2;else a1=`expr $a1 - 1`;fi 4n6Linux联盟
sort -t"[" -n +1 abc 4n6Linux联盟
L $a1 $a2;echo $write 4n6Linux联盟
} 4n6Linux联盟
4n6Linux联盟
sy(){    # 继续棋局输方先走,统计输赢结果 4n6Linux联盟
if [ $qs -eq 7 ];then 4n6Linux联盟
 go="黑"      #如果白棋赢则下一盘黑先走 4n6Linux联盟
 run="白" 4n6Linux联盟
 bs=`expr $bs + 0`;by=`expr $by + 1` 4n6Linux联盟
 bsy=`expr $by - $bs` 4n6Linux联盟
 hy=$bs;hs=$by;hsy=`expr $hy - $hs` 4n6Linux联盟
else 4n6Linux联盟
 go="白"      #如果黑棋赢则下一盘白先走 4n6Linux联盟
 run="黑" 4n6Linux联盟
 hs=`expr $hs + 0`;hy=`expr $hy + 1` 4n6Linux联盟
 hsy=`expr $hy - $hs` 4n6Linux联盟
 by=$hs;bs=$hy;bsy=`expr $by - $bs` 4n6Linux联盟
fi 4n6Linux联盟
} 4n6Linux联盟
4n6Linux联盟
sy1(){      # 显示输赢结果,统计棋局,询问是否继续  4n6Linux联盟
while true;do 4n6Linux联盟
  L 19 13;echo $by;L 19 68;echo $hy 4n6Linux联盟
  L 20 13;echo $bs;L 20 68;echo $hs 4n6Linux联盟
  L 23 15;echo $bsy"  ";L 23 70;echo $hsy"  " 4n6Linux联盟
  tput bel;tput bel
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
分页:[1] 2 3
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
无相关信息