Compucolor.org – Virtual Media

Listing of file='CMND.FOR;01' on disk='vmedia/fortrek-sector.ccvf'

	SUBROUTINE MOVE(ENERGY)
	INTEGER EGYREQ,GALAXY(8,8)
	BYTE SPD
	BYTE DEV(9),U,V,X,Y
	BYTE NK,NB,NS
	BYTE BLK,RED,GRN,YEL,BLU,MGN,CYN,WHT
	COMMON /MAP/GALAXY,U,V,X,Y
	COMMON /STAT/DEV
	COMMON /COLOR/BLK,RED,GRN,YEL,BLU,MGN,CYN,WHT

   10	CALL SCLCLR
	WRITE(3,20)YEL,GRN
   20	FORMAT('+',A1,'COURSE: ',A1)
	CALL INPUT(COURSE,1)
	IF(COURSE.LT.0.0) RETURN
	IF(COURSE.GT.360.0) GOTO 10
	COURSE = COURSE/45.0+1.0
	IF(COURSE.GE.9.0) COURSE = 1.0

   30	CALL SCLCLR
	WRITE(3,40)YEL,GRN
   40	FORMAT('+',A1,'WARP FACTOR: ',A1)
	CALL INPUT(WARP,1)
	IF((WARP.LT.0.0).OR.(WARP.GT.8.0)) GOTO 10
	IF(.NOT.(D(1).LT.0.AND.WARP.GT.0.125) GOTO 60
	   CALL SCLCLR
	   CALL SCLCLR
	   WRITE(3,10)RED,WHT,GRN
   50	   FORMAT('+',A1,'MAXIMUM SPEED = WARP ',A1,'0.125',A1)
	   GOTO 30

   60	CALL OUT(8,247)
	SPD = INT(8.0*WARP+0.5)
	IF(SPD.EQ.0) SPD = 1
	EGYREQ = INT(5.0+3*R+0.05*R*R)
	IF(EGYREQ.LE.ENERGY) GOTO 80
	   CALL SCLCLR
	   WRITE(3,80)RED,CYN,EGYREQ,RED,GRN
   70	   FORMAT('+',A1,'MOVE REQUIRES',I5,' ENERGY UNITS',A1)
	   RETURN
   80	CALL GETMAP(NK,NB,NS)
	IF(NK.GT.0) CALL KLGFIR
	CALL DEVST
	IF(WARP.GE.1.0) CALL SOUND(100,2,95,255,0)
	CALL PLTSYM(0,X,Y)

C	NEED SOMETHING HERE

	CALL SOUND(900,10,10,254,2)
	CALL SCLCLR
	CALL SCLCLR
	WRITE(3,110)