home *** CD-ROM | disk | FTP | other *** search
- SUBROUTINE GETIN(WORD1,WORD1X,WORD2,WORD2X)
-
- C GET A COMMAND FROM THE ADVENTURER. SNARF OUT THE FIRST WORD, PAD IT WITH
- C BLANKS, AND RETURN IT IN WORD1. CHARS 5 THRU 8 ARE RETURNED IN WORD1X, IN
- C CASE WE NEED TO PRINT OUT THE WHOLE WORD IN AN ERROR MESSAGE. ANY NUMBER OF
- C BLANKS MAY FOLLOW THE WORD. IF A SECOND WORD APPEARS, IT IS RETURNED IN
- C WORD2 (CHARS 5 THRU 8 IN WORD2X), ELSE WORD2 IS SET TO ZERO.
-
- IMPLICIT INTEGER*4 (A-Z)
- C INTEGER*2 ASCVAR
- LOGICAL BLKLIN
- LOGICAL*1 FRST(20)
- COMMON /BLKCOM/ BLKLIN
-
- IF(BLKLIN) WRITE(*,1)
- 1 FORMAT()
- 2 ACCEPT 3,K,FRST
- 3 FORMAT(Q,20A1)
- ST1=0
- ST2=1
- IX1=0
- IX2=0
- I=0
- 10 I=I+1
- ST1=ST1+1
- IF(I.GT.20) GOTO 2
- IF(FRST(I).EQ.' ') GOTO 10
- 15 IX1=IX1+1
- I=I+1
- IF(I.GT.20) GOTO 500
- IF(FRST(I).NE.' ') GOTO 15
- 20 I=I+1
- IF(I.GT.20) GOTO 500
- IF(FRST(I).EQ.' ') GOTO 20
- ST2=I
- 25 IX2=IX2+1
- I=I+1
- IF(I.GT.20) GOTO 500
- IF(FRST(I).NE.' ') GOTO 25
- 500 IX1=MIN0(8,IX1)
- IX2=MIN0(8,IX2)
- DECODE(IX1,99,FRST(ST1)) WORD1,WORD1X
- 99 FORMAT(2A4)
- WORD2=0
- IF(IX2.EQ.0) RETURN
- DECODE(IX2,99,FRST(ST2)) WORD2,WORD2X
- RETURN
- END
-