REM (A) DO ACTION REM (B) VIEW INFO REM MAKE STORE REM ========== REM ORE FUEL REM MAKE 1 ORE=0.02/SEC REM MAKE 1 FUEL=0.2/SEC REM REM FACTORIES: REM ORE: 100 200 REM FUEL: 200 100 REM REM SHIPS: REM EXPLORER: 10 100(MAX) REM TRANSPOR: 25 500(MAX) REM BATTLESH: 100 2000(MAX) REM R_ = RESOURCE REM F_ = FACTORY REM O_ = OTHER DIM GLOBAL R_ORE(19,15) DIM GLOBAL R_FUEL(19,15) DIM GLOBAL F_ORE(19,15) DIM GLOBAL F_FUEL(19,15) DIM GLOBAL OBUILD(6),FBUILD(6) FOR I=1 TO 5 READ OBUILD(I),FBUILD(I) NEXT I DATA 100,200, 200,100, 10,100, 25,500, 100,2000 FONT 64 REM WAS8BIT GAMEPAD 1 IWAIT=0 ICUR=0 CY=0 CX=0 CALL MOVECURSOR(CX,CY,0,0) F_ORE(1,1)=1 F_FUEL(1,1)=1 R_ORE(1,1)=250 R_FUEL(1,1)=250 BG 1 BG FILL 0,0 TO 19,15 CHAR 1 BG FILL 0,0 TO 2,2 CHAR 0 ATTR(1) CELL 1,1,7 BG 1 PAUSE OFF DO IF ICUR=0 THEN CALL MOVECURSOR(CX,CY,0,0) IF RIGHT(0) THEN CALL MOVECURSOR(CX,CY,1,0) IF LEFT(0) THEN CALL MOVECURSOR(CX,CY,-1,0) IF DOWN(0) THEN CALL MOVECURSOR(CX,CY,0,1) IF UP(0) THEN CALL MOVECURSOR(CX,CY,0,-1) IF BUTTON(0,0) THEN CALL DOACTION(CX,CY,0) IF BUTTON(0,1) THEN CALL DOACTION(CX,CY,1) END IF BG 1 FOR IY=0 TO 15 FOR IX=0 TO 15 C=CELL.C(IX,IY) IF C>1 THEN IF C=7 THEN IF IWAIT=0 THEN CALL INC_RESOURCES(IX,IY) END IF END IF NEXT IX NEXT IY ICUR=(ICUR+1) MOD 10 IWAIT=(IWAIT+1) MOD 60 WAIT VBL LOOP SUB MOVECURSOR(X,Y,DX,DY) XX=X+DX YY=Y+DY IF XX>=0 AND XX<=19 THEN X=XX IF YY>=0 AND YY<=15 THEN Y=YY CLS 0 BG 0 ATTR(0) CELL X,Y,16 IF DX<>0 OR DY<>0 THEN PLAY 0,70,10 SOUND 0 END SUB SUB DOACTION(X,Y,T) BG 1 C=CELL.C(X,Y) A=CELL.A(X,Y) IF T=0 THEN IF C=0 THEN CALL MESSAGE("NOTHING TO COMMAND") IF C=1 THEN CALL MESSAGE("UNEXPLORED SPACE") IF C>1 THEN CALL COMMAND(X,Y,C,A) ELSE IF C=0 THEN CALL MESSAGE("= EMPTY SPACE") IF C=1 THEN CALL MESSAGE("= UNEXPLORED SPACE") IF C=7 AND T=1 AND A=1 THEN CALL MESSAGE("= HOME PLANET") END IF END SUB SUB MESSAGE(M$) ATTR(0) PLAY 0,80,5 SOUND 1 CLS 0 BG 0 LOCATE 0,0 PRINT M$ WAIT 60 CLS 0 END SUB SUB COMMAND(X,Y,C,A) ATTR(0) PLAY 0,65,5 SOUND 1 CLS 0 BG 0 LOCATE 0,0 PP$="COM: " IF C=7 AND A=1 THEN PP$=PP$+"HOME PLANET" WHILE NOT BUTTON(0,1) LOCATE 0,0 PRINT PP$ PRINT "F:ORE = "+STR$(F_ORE(X,Y)) PRINT "F:FUEL = "+STR$(F_FUEL(X,Y)) PRINT "R:ORE = "+STR$(R_ORE(X,Y)) PRINT "R:FUEL = "+STR$(R_FUEL(X,Y)) PRINT "===============" PRINT "(U) BF:ORE 100/200" PRINT "(D) BF:FUEL 200/100" PRINT "(L) BS:EXP 10/100" PRINT "(R) BS:TRA 25/500" PRINT "(A) BS:BAT 100/2000" PRINT "(B) EXIT" IF UP(0) THEN CALL BUILD(1,X,Y) IWAIT=(IWAIT+1) MOD 60 IF IWAIT=0 THEN CALL INC_RESOURCES(X,Y) WAIT VBL WEND END SUB SUB BUILD(I,X,Y) PLAY 0,60,5 SOUND 1 CLS 0 LOCATE 0,0 PRINT ">BUILD FAC:ORE" IF R_ORE(X,Y)