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="[47;30m" # 白底黑字
4n6Linux联盟green_b="[42;30m" # 绿底黑字(移动棋字亮块)
4n6Linux联盟blue_b="[44;37m" # 兰底白字
4n6Linux联盟gray_b="[40;30;5m" # 灰底黑字
4n6Linux联盟gray_w="[40;37;5m" # 灰底白字
4n6Linux联盟black_w="[37;40;0m" # 黑底白字
4n6Linux联盟# 棋盘换色控制变量
4n6Linux联盟brown_b="[43;30m" # 桔黄底黑棋
4n6Linux联盟brown_w="[43;37m" # 桔黄底白棋
4n6Linux联盟mage_b="[45;30m" # 紫底黑棋
4n6Linux联盟mage_w="[45;37m" # 紫底白棋
4n6Linux联盟lt_blue_b="[44;30;5m" # 浅兰底黑棋
4n6Linux联盟lt_blue_w="[44;37;5m" # 浅兰底白棋
4n6Linux联盟4n6Linux联盟
()
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联盟
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联盟
>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论坛讨论