home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fatal Distractions!
/
fataldistractions.bin
/
chap01
/
adventur
/
getin.old
< prev
next >
Wrap
Text File
|
1990-11-16
|
1KB
|
49 lines
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