home *** CD-ROM | disk | FTP | other *** search
- para zdz,qrh,qlh,lj,sl,rj,cdhs,aa
- do while .t.
- rn&aa=r&aa
- cn&aa=c&aa
- set console off
- do while .t.
- p&aa=inkey()
- if p&aa<>0
- exit
- endif
- enddo
- set console on
- do case
- case p&aa=5.or.p&aa=73.or.p&aa=105
- if r&aa=qrh
- if c&aa<qlh+nn&aa*lj
- r&aa=qrh+(mm&aa-1)*rj
- n&aa=(mm&aa-1)*sl
- ns&aa=ns&aa-n&aa
- else
- r&aa=qrh+(mm&aa-2)*rj
- n&aa=(mm&aa-2)*sl
- ns&aa=-n&aa
- endif
- else
- r&aa=r&aa-rj
- n&aa=-sl
- ns&aa=ns&aa+sl
- endif
- case p&aa=24.or.p&aa=77.or.p&aa=109
- if ;
- r&aa=qrh+(mm&aa-1)*rj.or.(r&aa=qrh+(mm&aa-2)*rj.and.c&aa>qlh;
- +(nn&aa-1)*lj)
- r&aa=qrh
- if c&aa<qlh+nn&aa*lj
- n&aa=-(mm&aa-1)*sl
- ns&aa=ns&aa-n&aa
- else
- n&aa=-(mm&aa-2)*sl
- ns&aa=-n&aa
- endif
- else
- r&aa=r&aa+rj
- n&aa=sl
- ns&aa=ns&aa-sl
- endif
- case p&aa=4.or.p&aa=75.or.p&aa=107
- if r&aa=qrh+(mm&aa-1)*rj.and.c&aa=qlh+(nn&aa-1)*lj
- r&aa=qrh
- c&aa=qlh
- n&aa=-((mm&aa-1)*sl+nn&aa-1)
- ns&aa=ns&aa-n&aa
- else
- if c&aa=qlh+(sl-1)*lj
- c&aa=qlh
- r&aa=r&aa+rj
- else
- c&aa=c&aa+lj
- endif
- n&aa=1
- ns&aa=ns&aa-1
- endif
- case p&aa=19.or.p&aa=74.or.p&aa=106
- if r&aa=qrh.and.c&aa=qlh
- r&aa=qrh+(mm&aa-1)*rj
- c&aa=qlh+(nn&aa-1)*lj
- n&aa=(mm&aa-1)*sl+nn&aa-1
- ns&aa=ns&aa-n&aa
- else
- if c&aa=qlh
- c&aa=qlh+(sl-1)*lj
- r&aa=r&aa-rj
- else
- c&aa=c&aa-lj
- endif
- n&aa=-1
- ns&aa=ns&aa+1
- endif
- case p&aa=13.or.p&aa=80.or.p&aa=112
- if zw=c->zw
- @ r3,c3+20 say hzts04
- sele 3
- @ r3,c3 get hzts03
- clear gets
- repl dds with dds+1
- repl cycs with cycs+1
- sele 5
- go c->xsh
- repl dds with dds+1
- repl cycs with cycs+1
- sele 4
- exit
- else
- sele 5
- go c->xsh
- repl cycs with cycs+1
- sele 3
- repl cycs with cycs+1
- sele 4
- loop
- endif
- case p&aa=32.or.p&aa=27
- sele 3
- retu
- other
- loop
- endcase
- skip n&aa
- n&aa=0
- @ rn&aa,cn&aa say hzts1&aa
- hzts0&aa=trim(&zdz)
- @ r&aa,c&aa get hzts0&aa
- clear gets
- hzts1&aa=hzts0&aa
- enddo