10 REM SIMPLE CALCULATOR 20 LET K = 0 // FIRST ELEMENT 30 LET L = 0 // SECOND ELEMENT 40 LET M = 0 // RESULT 50 LET N = 0 // OPERATOR 60 LET A = 7 70 LET X = 4 80 LET A$ = "7" 90 LET Y = 4 100 GOSUB 940 110 REM GOTO 360 120 LET A = 8 130 LET A$ = "8" 140 LET X = X + 6 150 GOSUB 940 160 LET A = 9 170 LET A$ = "9" 180 LET X = X + 6 190 GOSUB 940 200 LET A = 4 210 LET A$ = "4" 220 LET X = 4 230 LET Y = Y + 4 240 GOSUB 940 250 LET A = 5 260 LET A$ = "5" 270 LET X = X + 6 280 GOSUB 940 290 LET A = 6 300 LET A$ = "6" 310 LET X = X + 6 320 GOSUB 940 330 LET A = 1 340 LET A$ = "1" 350 LET X = 4 360 LET Y = Y + 4 370 GOSUB 940 380 LET A = 2 390 LET A$ = "2" 400 LET X = X + 6 410 GOSUB 940 420 LET A = 3 430 LET A$ = "3" 440 LET X = X + 6 450 GOSUB 940 460 LET A = 0 470 LET A$ = "0" 480 LET X = 4 490 LET Y = Y + 4 500 GOSUB 940 510 LET A = 100 520 LET A$ = "+" 530 LET X = X + 6 540 GOSUB 940 550 LET A = 101 560 LET A$ = "=" 570 LET X = X + 6 580 GOSUB 940 585 GOTO 870 // DISPLAY RESULT FIELD 590 GET MOUSE X ,Y ,V 600 IF V = 1 THEN GOTO 630 610 WAIT 100 // no user input 620 GOTO 590 630 GET MIRROR X ,Y ,V 640 IF V = 0 THEN GOTO 590 650 IF V <> 101 THEN GOTO 700 660 REM PLUS PRESSED 670 LET N = 1 680 LET M = 0 690 GOTO 880 700 IF V <> 102 THEN GOTO 780 710 REM EQUAL PRESSED 720 BEEP 730 LET M = K + L 740 LET K = M 750 LET L = 0 760 LET N = 0 770 GOTO 880 780 REM DIGIT TYPED 0 ... 9 790 LET V = V - 1 800 IF N <> 0 THEN GOTO 840 810 LET K = K * 10 + V 820 LET M = K 830 GOTO 870 840 REM SECOND ELEMENT 850 LET L = L * 10 + V 860 LET M = L 870 COLOR WHITE ,ORANGE 880 CURSOR 4 ,2 890 PRINT " " 900 CURSOR 4 ,2 910 PRINT M 920 GOTO 590 930 END 940 REM SUBROUTINE FOR DRAWING 950 COLOR WHITE ,BLUE 960 CURSOR X ,Y 970 PRINT " " , 980 CURSOR X ,1 + Y 990 PRINT " " ,A$ ," " , 1000 CURSOR X ,2 + Y 1010 PRINT " " , 1020 LET B = 0 1030 LET D = 0 1040 MIRROR X + D ,Y + B ,A + 1 1050 LET D = D + 1 1060 IF D < 5 THEN GOTO 1040 1070 LET B = B + 1 1080 IF B < 3 THEN GOTO 1030 1090 RETURN