C C C ******************************************************* C * * C * SUBROUTINE FOR PRINTING RANDOM FUNNY MESSAGES * C * * C ******************************************************* C SUBROUTINE HUMOUR(II,JJ,IBELL,FUNMES) LOGICAL TEST,TEST1,TEST3 LOGICAL*1 IMAGE(65) BYTE FUNMES(25) DATA TEST,TEST1,TEST3/3*.FALSE./ C OPEN(UNIT=2,NAME='[200,200]STARFLEET.DAT',TYPE='OLD',READONLY, &ERR=9999) REWIND 2 READ(2,11,ERR=999)NMAX,IPROB 11 FORMAT(I2,1X,I2) IF(RAN(II,JJ).GT.FLOAT(IPROB)/100.)GOTO 9 1 N=RAN(II,JJ)*FLOAT(NMAX)+1. IF(N.EQ.0 .OR. N.GT.NMAX)GOTO 1 C TYPE 91 C 91 FORMAT(/1X,'PLEASE STAND BY') IF(FUNMES(N).EQ.1)GOTO 999 FUNMES(N)=1 TEST3=.TRUE. 20 READ(2,21,END=999,ERR=999)NUM 21 FORMAT(I2) IF(NUM-N)20,30,999 30 TYPE 31,IBELL 31 FORMAT(1X,A1) TEST=.TRUE. 2 DO 3 I=1,65 IMAGE(I)="0 3 CONTINUE 70 READ(2,71,END=999,ERR=999)NUM,IMAGE 71 FORMAT(I2,1X,65A1) IF(NUM.NE.N)GOTO 999 IF(IMAGE(1).EQ.'P' .AND. IMAGE(2).EQ.'/')GOTO 60 DO 4 I=65,2,-1 IF(IMAGE(I).NE.' ')GOTO 40 IMAGE(I)="0 4 CONTINUE 40 TYPE 41,IMAGE 41 FORMAT(1X,65A1) WRITE(3,41)IMAGE GOTO 2 60 DECODE(1,61,IMAGE(3))LONG 61 FORMAT(I1) CALL PAUSE(LONG) GOTO 2 999 REWIND 2 9 CALL CLOSE(2) 9999 RETURN END