代码: 全选
#!/bin/bash
w_rook=♖
w_knight=♘
w_bishop=♗
w_queen=♕
w_king=♔
w_pawns=♙
b_rook=♜
b_knight=♞
b_bishop=♝
b_queen=♛
b_king=♚
b_pawns=♟
all=('' $w_rook $w_knight $w_bishop $w_queen $w_king $w_bishop $w_knight $w_rook \
$w_pawns $w_pawns $w_pawns $w_pawns $w_pawns $w_pawns $w_pawns $w_pawns \
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' \
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' \
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' \
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' \
$b_pawns $b_pawns $b_pawns $b_pawns $b_pawns $b_pawns $b_pawns $b_pawns \
$b_rook $b_knight $b_bishop $b_queen $b_king $b_bishop $b_knight $b_rook)
cat <<EOF
╭───────────────╮
8│${all[57]} ${all[58]} ${all[59]} ${all[60]} ${all[61]} ${all[62]} ${all[63]} ${all[64]}│
7│${all[49]} ${all[50]} ${all[51]} ${all[52]} ${all[53]} ${all[54]} ${all[55]} ${all[56]}│
6│${all[41]} ${all[42]} ${all[43]} ${all[44]} ${all[45]} ${all[46]} ${all[47]} ${all[48]}│
5│${all[33]} ${all[34]} ${all[35]} ${all[36]} ${all[37]} ${all[38]} ${all[39]} ${all[40]}│
4│${all[25]} ${all[26]} ${all[27]} ${all[28]} ${all[29]} ${all[30]} ${all[31]} ${all[32]}│
3│${all[17]} ${all[18]} ${all[19]} ${all[20]} ${all[21]} ${all[22]} ${all[23]} ${all[24]}│
2│${all[9]} ${all[10]} ${all[11]} ${all[12]} ${all[13]} ${all[14]} ${all[15]} ${all[16]}│
1│${all[1]} ${all[2]} ${all[3]} ${all[4]} ${all[5]} ${all[6]} ${all[7]} ${all[8]}│
╰───────────────╯
A B C D E F G H
EOF
echo -ne '\e[6n';read -sdR sign;sign=`echo "$sign" | sed -e 's/.*\[//g' -e 's/;.*//g'`
while true;do
echo -ne "\033[$(($sign-1));6H "
echo -ne "\033[$(($sign-1));1HPiece:"
read piece
if [[ "$piece" =~ ^[a-hA-H][1-8]$ ]];then
r=`echo $piece | cut -b2`
c=`echo $piece | cut -b1 | sed -e 's/a/1/I' -e 's/b/2/I' -e 's/c/3/I' -e 's/d/4/I' -e 's/e/5/I' -e 's/f/6/I' -e 's/g/7/I' -e 's/h/8/I'`
piece=${all[$(($c+$((($r-1)*8))))]}
else
echo -ne "\033[$sign;1HWithout the piece" && continue
fi
if [[ "$piece" =~ [♜♞♝♛♚♟♖♘♗♕♔♙] ]];then
echo -ne "\033[$sign;1H$piece "
echo -ne "\033[$(($sign-1));13H "
echo -ne "\033[$(($sign-1));13HTo:"
read pos
if [[ "$pos" =~ ^[a-hA-H][1-8]$ ]];then
pr=`echo $pos | cut -b2`
pc=`echo $pos | cut -b1 | sed -e 's/a/1/I' -e 's/b/2/I' -e 's/c/3/I' -e 's/d/4/I' -e 's/e/5/I' -e 's/f/6/I' -e 's/g/7/I' -e 's/h/8/I'`
arrnum=$(($pc+$((($pr-1)*8))))
arrpos=${all[$arrnum]}
echo -ne "\033[$sign;13H$pos"
all[$(($pc+$((($pr-1)*8))))]=$piece
all[$(($c+$((($r-1)*8))))]=' '
echo -ne "\033[$(($sign-$pr-3));$(($pc*2+2))H${all[$(($pc+$((($pr-1)*8))))]}"
echo -ne "\033[$(($sign-$r-3));$(($c*2+2))H${all[$(($c+$((($r-1)*8))))]}"
else
echo -ne "\033[$sign;1HWithout the pos" && continue
fi
else
echo -ne "\033[$sign;1HWithout the piece" && continue
fi
done
代码: 全选
╭───────────────╮
8│♜ ♝ ♜ ♚ │
7│♟ ♟ ♞ ♟ ♝ ♟│
6│ ♟ ♖ ♞ ♟ │
5│ ♟ │
4│ ♙ ♙ │
3│ ♘ ♗ ♘ ♙│
2│♙ ♙ ♙ ♙ ♙ │
1│ ♔ ♖│
╰───────────────╯
A B C D E F G H
Piece: To:e3
♗ e3