	SUBROUTINE JUMP(ID)
C	ROUTINE TO ALLOW RANDOM JUMPS WITHIN CUBE
C----------------------standard common block----------------------------
C 
	COMMON ICR(8,12),IPARM(10),IS1,IS2,NT,ICU(10,10,10,2),CLEAR(8)
	COMMON MARKER(4,3,3)
	LOGICAL*1 ICU,CLEAR
C 
C-----------------------------------------------------------------------
	LOGICAL*1 ANS
	LUN=ICR(ID,8)
	IE=ICR(ID,9)
	IF(IE.LT.5) GOTO 125
	ICR(ID,9)=IE-5
	IE=0
C	CLEAR OLD LOCATION:
	ICU(ICR(ID,10),ICR(ID,11),ICR(ID,12),1)=' '
	I=RAN(I1,I2)*9.999+1   !  SCALE FROM 1 TO 10
	J=RAN(I1,I2)*9.999+1
	K=RAN(I1,I2)*9.999+1
	ANS=ICU(I,J,K,1)
	IF(ANS.NE.' '.AND.ANS.NE.'[') GOTO 127  ! CRASHED
C	MOVE CRAWLER:
	IX=48   ! NO DOORWAY
	IF(ANS.EQ.'[') IX=58  ! CONVERT INTEGER ID TO CHARACTER +10
	ICU(I,J,K,1)=ID+IX   ! CONVERT INTEGER TO CHARACTER
	ICR(ID,10)=I
	ICR(ID,11)=J
	ICR(ID,12)=K
C	DISORIENTATE:
	ICR(ID,9)=ICR(ID,9)+(I+J)*2  ! ADD ENOUGH ENERGY FOR ROTATES
	ANS='R'
	DO 1125 K=1,I
	IC=-ID
	CALL ROTATE(ANS,IC)
1125	CONTINUE
	ANS='U'
	DO 1126 K=1,J
	IC=-ID
	CALL ROTATE(ANS,IC)
1126	CONTINUE
	WRITE(LUN,1127) "33,"33,CLEAR(ID)
1127	FORMAT(X,A1,'Y  ',2A1,T19,'*'/T23,'*'/T25,'*'/T26,'*'/T26'*'/
     CT27,'*'//T27,'*'///T28,'*'//T23,'sproing !!!')
	GOTO 10
125	WRITE(LUN,126)
126	FORMAT('        JUMP ????'/
     C' .....with no more energy than that you`re'/
     C'  lucky if you can hop !')
	IE=0
	GOTO 10
C 
C	CRASH:
127	WRITE(LUN,128)
128	FORMAT(' .....oops !!   you`ve landed in a destroyed area.'/
     C' too bad for you.......'//' r.i.p.')
	ICR(ID,1)=0
	DO 11 I=1,8
	IF(ICR(I,1).EQ.1.OR.ICR(ID,1).EQ.2) WRITE(ICR(ID,8),12) ID
11	CONTINUE
12	FORMAT(' .....crawler',I2,' has most recently jumped to'/
     C' his demise.  flowers not necessary.')
10	RETURN
	END
