home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 6 / 06.iso / b / b032 / 6.img / 31 / ZCX143.PRG < prev    next >
Encoding:
Text File  |  1987-09-05  |  2.1 KB  |  116 lines

  1. para zdz,qrh,qlh,lj,sl,rj,cdhs,aa
  2. do while .t.
  3.  rn&aa=r&aa
  4.  cn&aa=c&aa
  5.  set console off
  6.  do while .t.
  7.   p&aa=inkey()
  8.   if p&aa<>0
  9.    exit
  10.   endif
  11.  enddo
  12.  set console on
  13.  do case
  14.   case p&aa=5.or.p&aa=73.or.p&aa=105
  15.    if r&aa=qrh
  16.     if c&aa<qlh+nn&aa*lj
  17.      r&aa=qrh+(mm&aa-1)*rj
  18.      n&aa=(mm&aa-1)*sl
  19.      ns&aa=ns&aa-n&aa
  20.     else
  21.      r&aa=qrh+(mm&aa-2)*rj
  22.      n&aa=(mm&aa-2)*sl
  23.      ns&aa=-n&aa
  24.     endif
  25.    else
  26.     r&aa=r&aa-rj
  27.     n&aa=-sl
  28.     ns&aa=ns&aa+sl
  29.    endif
  30.   case p&aa=24.or.p&aa=77.or.p&aa=109
  31.    if ;
  32. r&aa=qrh+(mm&aa-1)*rj.or.(r&aa=qrh+(mm&aa-2)*rj.and.c&aa>qlh;
  33. +(nn&aa-1)*lj)
  34.     r&aa=qrh
  35.      if c&aa<qlh+nn&aa*lj
  36.       n&aa=-(mm&aa-1)*sl
  37.       ns&aa=ns&aa-n&aa
  38.      else
  39.       n&aa=-(mm&aa-2)*sl
  40.       ns&aa=-n&aa
  41.      endif
  42.     else
  43.      r&aa=r&aa+rj
  44.      n&aa=sl
  45.      ns&aa=ns&aa-sl
  46.     endif
  47.    case p&aa=4.or.p&aa=75.or.p&aa=107
  48.     if r&aa=qrh+(mm&aa-1)*rj.and.c&aa=qlh+(nn&aa-1)*lj
  49.      r&aa=qrh
  50.      c&aa=qlh
  51.      n&aa=-((mm&aa-1)*sl+nn&aa-1)
  52.      ns&aa=ns&aa-n&aa
  53.     else
  54.      if c&aa=qlh+(sl-1)*lj
  55.       c&aa=qlh
  56.       r&aa=r&aa+rj
  57.      else
  58.       c&aa=c&aa+lj
  59.      endif
  60.      n&aa=1
  61.      ns&aa=ns&aa-1
  62.     endif
  63.    case p&aa=19.or.p&aa=74.or.p&aa=106
  64.     if r&aa=qrh.and.c&aa=qlh
  65.      r&aa=qrh+(mm&aa-1)*rj
  66.      c&aa=qlh+(nn&aa-1)*lj
  67.      n&aa=(mm&aa-1)*sl+nn&aa-1
  68.      ns&aa=ns&aa-n&aa
  69.     else
  70.      if c&aa=qlh
  71.       c&aa=qlh+(sl-1)*lj
  72.       r&aa=r&aa-rj
  73.      else
  74.       c&aa=c&aa-lj
  75.      endif
  76.       n&aa=-1
  77.       ns&aa=ns&aa+1
  78.     endif
  79.   case p&aa=13.or.p&aa=80.or.p&aa=112
  80.    if zw=c->zw
  81.     @ r3,c3+20 say hzts04
  82.     sele 3
  83.     @ r3,c3 get hzts03
  84.     clear gets
  85.     repl dds with dds+1
  86.     repl cycs with cycs+1
  87.     sele 5
  88.     go c->xsh
  89.     repl dds with dds+1
  90.     repl cycs with cycs+1
  91.     sele 4
  92.     exit
  93.    else
  94.     sele 5
  95.     go c->xsh
  96.     repl cycs with cycs+1
  97.     sele 3
  98.     repl cycs with cycs+1
  99.     sele 4
  100.     loop
  101.    endif
  102.   case p&aa=32.or.p&aa=27
  103.    sele 3
  104.    retu
  105.   other
  106.    loop
  107.  endcase
  108.  skip n&aa
  109.  n&aa=0
  110.  @ rn&aa,cn&aa say hzts1&aa
  111.  hzts0&aa=trim(&zdz)
  112.  @ r&aa,c&aa get hzts0&aa
  113.  clear gets
  114.  hzts1&aa=hzts0&aa
  115. enddo
  116.