zdc253212956 发表于 2018-8-20 11:01:48

shell 游戏系列 扫雷

#!/bin/bash  
#-------------CopyRight-------------
  
#   Name:Mine Sweeping
  
#   Version Number:1.00
  
#   Type:game
  
#   Language:bash shell
  
#   Date:2005-10-26
  
#   Author:BitBull
  
#   Email:BitBull.cn(at)gmail.com
  
#------------Environment------------
  
#   Terminal: column 80 line 24
  
#   Linux 2.6.9 i686
  
#   GNU Bash 3.00.15
  
#-----------------------------------
  
#---------------Define--------------
  
ECHO="echo -ne"
  
ESC="\033["
  
OK=0
  
FALSE=1
  
#--------------Variable--------------
  
#ANSI ESC action
  
FLASH=5
  
REV=7
  
#color
  
NULL=0
  
BLACK=30
  
RED=31
  
GREEN=32
  
ORANGE=33
  
BLUE=34
  
PURPLE=35
  
SBLUE=36
  
GREY=37
  
#back color
  
BBLACK=40
  
BRED=41
  
BGREEN=42
  
BORANGE=43
  
BBLUE=44
  
BPURPLE=45
  
BSBLUE=46
  
BGREY=47
  
MINE='@'
  
FLAG='F'
  
NUL=' '
  
SHADOW='X'
  
X=0
  
Y=0
  
CurX=1 #cur's X
  
CurY=1 #cur's Y
  
OCurX=1 #old cur's X
  
OCurY=1 #old cur's Y
  
MCount=0 #count mine
  
FCount=0 #count flag
  
SCount=0 #count shadow
  
MXYp=0 #MXY Array's ptr
  
#---------------Array----------------
  
#if ${XY[]} == M { mine }
  
#if ${XY[]} == F { flag }
  
#if ${XY[]} == N { null }
  
#if ${XY[]} == S { shadow }
  
#if ${XY[]} == { tip_num }
  
#${XY[]} init in XYInit(i)
  
MXY=""
  
#--------------Function--------------
  
function SttyInit ()
  
{
  stty_save=$(stty -g) #backup stty
  clear
  trap "GameExit;" 2 15
  stty -echo
  $ECHO "${ESC}?25l" #hidden cursor
  return $OK
  
}
  
function GameExit ()
  
{
  stty $stty_save
  stty echo
  clear
  trap 2 15
  $ECHO "${ESC}?25h${ESC}0;0H${ESC}0m"
  exit $OK
  
}
  
#print help
  
function Help ()
  
{
  msg="Move:w s a d Dig:j Flag:f NewGame:n Exit:x   --CopyRight-- -2005-10-28 BitBull--"
  $ECHO "${ESC}${REV};${RED}m${ESC}24;1H${msg}${ESC}${NULL}m"
  return $OK
  
}
  
#print dialog window in screen
  
function PMsg ()
  
{

  local>  $ECHO "${ESC}${RED}m"
  $ECHO "${ESC}11;20H ------------------------------------------- "
  $ECHO "${ESC}12;20H|         ======>$title$greeting
页: [1]
查看完整版本: shell 游戏系列 扫雷