5 REM calc.bas 10 REM Author: Tim Corrie Jr. 10/14/2021 Written for BWBASIC 11 DIM R$(20) 12 DIM K$(20) 30 GFNUM = 0 : G$ = "" 50 DATA "2628095", "2628095", "2628095", "1015567", "986895" 51 DATA "986895", "986895", "1015567", "986895" 55 DATA "986895", "986895", "986895", "986895", "986895" 56 DATA "986895", "1015567", "986895", "986895", "986895" 57 DATA "1015567" 60 DATA "Off", "C", "-98 THEN 430 422 REM A SLEEP would go here for watermark 423 GOTO 460 430 ROW=INT((y-1200)/1200) 431 COL=INT((x-200)/2000) 432 ROWCOL=ROW*4+COL 433 REM PRINT "Row=";ROW;" Col=";COL;" ROWCOL="; ROWCOL 440 IF (ROW<0) OR (ROW>=5) OR (COL<0) OR (COL>=4) THEN 460 450 ON ROWCOL+1 GOSUB 1000, 1010, 1020, 1030, 1040, 1050, 1060, 1070, 1080, 1090, 1100, 1110, 1120, 1130, 1140, 1150, 1160, 1170, 1180, 1190 460 GOTO 120: REM WEND 1000 PRINT "O 0 0 0";CHR$(10);"Z ";CHR$(10); 1002 BYE 1003 RETURN 1010 G$ = "0" 1011 C$ = "6052991" : GOSUB 2000 : GFNUM = 0 : G$ = "" : RETURN 1020 IF LEN( G$ ) = 0 THEN 1029 1021 IF LEN( G$ ) > 1 THEN 1023 1022 G$="0":C$="6052991":GOSUB 2000:GFNUM=1:G$="":RETURN 1023 G$=LEFT$(LEN(G$)-1):C$="6052991":GOSUB 2000:GFNUM=1 1029 RETURN 1030 GBINOP=1 : L$=G$ : IF GFNUM=0 THEN 1035 1032 G$="" : P=1 : GOSUB 3000 : GAX=N : GFNUM=0 : RETURN 1035 G$="" : RETURN 1040 G$ = G$+"7" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1050 G$ = G$+"8" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1060 G$ = G$+"9" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1070 GBINOP=2 : L$=G$ : IF GFNUM=0 THEN 1075 1072 G$="" : P=1 : GOSUB 3000 : GAX=N : GFNUM=0 : RETURN 1075 G$="" : RETURN 1080 G$ = G$+"4" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1090 G$ = G$+"5" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1100 G$ = G$+"6" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1110 GBINOP=3 : L$=G$ : IF GFNUM=0 THEN 1115 1112 G$="" : P=1 : GOSUB 3000 : GAX=N : GFNUM=0 : RETURN 1115 G$="" : RETURN 1120 G$ = G$+"1" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1130 G$ = G$+"2" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1140 G$ = G$+"3" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1150 GBINOP=4 : L$=G$ : IF GFNUM=0 THEN 1155 1152 G$="" : P=1 : GOSUB 3000 : GAX=N : GFNUM=0 : RETURN 1155 G$="" : RETURN 1160 G$ = G$+"0" : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1170 G$ = G$+"." : GFNUM = 1 : C$ = "6052991" : GOSUB 2000 : RETURN 1180 IF LEN( G$ ) = 0 THEN 1189 1181 IF MID$(G$,1,1) = "-" THEN 1182 ELSE 1183 1182 G$=MID$(G$,2) : GOTO 1184 1183 G$="-" + G$ 1184 C$ = "6052991" : GOSUB 2000 : GFNUM = 1 1189 RETURN 1190 IF GFNUM = 0 THEN 1191 : L$ = G$ : P = 1 : GOSUB 3000 : GBX = N 1191 ON GBINOP GOSUB 1193, 1194, 1195, 1196 1192 RETURN 1193 GAX=GAX*GBX:G$=TRIM$(STR$(GAX)):C$="6052991":GOSUB 2000:GFNUM=0:RETURN 1194 GAX=GAX/GBX:G$=TRIM$(STR$(GAX)):C$="6052991":GOSUB 2000:GFNUM=0:RETURN 1195 GAX=GAX+GBX:G$=TRIM$(STR$(GAX)):C$="6052991":GOSUB 2000:GFNUM=0:RETURN 1196 GAX=GAX-GBX:G$=TRIM$(STR$(GAX)):C$="6052991":GOSUB 2000:GFNUM=0:RETURN 2000 PRINT "F 0 16777215";CHR$(10); 2010 PRINT "FR 0 0 0 9900 600";CHR$(10); 2020 PRINT "F 0 ";C$;CHR$(10); 2040 PRINT "R 0 100 100 9800 500";CHR$(10); 2050 PRINT "R$ 0 9800 520";CHR$(34);G$;CHR$(34);CHR$(10);"Z ";CHR$(10);:RETURN 3000 N=0 : S=1 : DIG=ASC(MID$(L$,P,1)):IF DIG<>45 THEN 3020 3015 S=-1 : P=P+1 3020 WHILE P <= LEN(L$) 3030 DIG = ASC(MID$(L$,P,1)) 3040 IF ( DIG < 48 ) OR ( DIG > 57 ) THEN 3080 3050 N = 10*N+(DIG-48) : P=P+1 3060 WEND 3070 N=S*N : RETURN 3080 P = P + 1 : N=S*N : RETURN