	SUBROUTINE INITBARR
C Routine to initialize the barriers array from a data file
	IMPLICIT REAL*8 (A-Z)
	INCLUDE 'ARRAYS.INC/NOLIST'
	INTEGER*4 IX,IY,RANDINT,IVAL
	PARAMETER RANL_INIBAR = -45,
     1		RANU_INIBAR = 5,
     2		THRS_INIBAR = 3
C
C Generate a random initial barrier pattern, however no initial barriers
C appear below the upper limit of the gun
C
	DO IX = SCREEN_MINX,SCREEN_MAXX
	  DO IY = SCREEN_MINY,GUN_UPLIM
	    IVAL = RANDINT(RANL_INIBAR,RANU_INIBAR)
	    IF(IVAL.GE.THRS_INIBAR) THEN
C
C Put a barrier here - it will take IVAL hits to destroy it
C
	      BARR_ARY(IX,IY) = IVAL
	    ELSE
	      BARR_ARY(IX,IY) = 0
	    ENDIF
	  ENDDO
	ENDDO
C
C Now fill in the edges with barriers for use by the move millipede
C and move spider routines
C First, do the top row - used by MOVEBOMB
C
	DO IX = BORDER_MINX,BORDER_MAXX
	BARR_ARY(IX,BORDER_MINY) = -2
	ENDDO
C
C Then do the left and right edges - see MOVESPIDR for the reason for
C these special values
C
	DO IY = SCREEN_MINY,SCREEN_MAXY
	BARR_ARY(BORDER_MINX,IY) = -1
	BARR_ARY(BORDER_MAXX,IY) = -5
	ENDDO
C
C Finally, do the bottom row
C
	DO IX = BORDER_MINX,BORDER_MAXX
	BARR_ARY(IX,BORDER_MAXY) = 7
	ENDDO
D	DO IY = BORDER_MINY,BORDER_MAXY
D	WRITE(12,901) (BARR_ARY(IX,IY),IX=BORDER_MINX,BORDER_MAXX)
D901	FORMAT(' ',75I1)
D	ENDDO
	RETURN
	END
