Last active
April 5, 2016 21:55
-
-
Save eevee/21def460854e675438a0353246385885 to your computer and use it in GitHub Desktop.
I was a dick
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DECLARE SUB Change (C AS INTEGER, D AS INTEGER, R AS INTEGER) | |
DECLARE FUNCTION Round$ (N!, D AS INTEGER) | |
DIM SHARED A AS SINGLE, A2 AS INTEGER | |
SCREEN 12 | |
DO | |
CLS | |
COLOR 15 | |
PRINT "How much did you spend ($0 - 100)? "; | |
COLOR 14: INPUT "", A | |
DO WHILE A < 0 OR A > 100 | |
COLOR 15: PRINT "Try again ($0 - 100): "; | |
COLOR 14: INPUT "", A | |
LOOP | |
COLOR 15 | |
A = INT(A * 100 + .5) / 100 | |
IF A < 10 THEN P = 10 ELSE P = 100 | |
CLS | |
PRINT "You spent "; : COLOR 13: PRINT "$"; Round$(A, 2); : COLOR 15 | |
PRINT ".": PRINT "You paid with a "; : COLOR 10: PRINT "$"; LTRIM$(STR$(P)); : COLOR 15 | |
PRINT " bill and received "; : COLOR 11: PRINT "$"; Round$(P - A, 2); | |
COLOR 15: PRINT " in change, consisting of:" | |
A2 = (P - A) * 100 | |
Change 5000, 2, 0 | |
Change 2000, 2, 0: Change 1000, 2, 0 | |
Change 500, 2, 0: Change 100, 2, 0 | |
Change 25, 7, 15: Change 10, 7, 9: Change 5, 7, 13: Change 1, 6, 11 | |
PRINT : COLOR 15 | |
PRINT "Play again? (y/n) "; | |
DO: K$ = INKEY$: K$ = LCASE$(K$): LOOP UNTIL K$ = "y" OR K$ = "n" | |
COLOR 14: PRINT K$: COLOR 15 | |
IF K$ = "n" THEN EXIT DO | |
LOOP | |
PRINT "Bai ^-^" | |
END | |
SUB Change (C AS INTEGER, D AS INTEGER, R AS INTEGER) | |
B = INT(A2 / C) | |
A2 = A2 - B * C | |
IF B = 0 THEN EXIT SUB | |
IF C >= 100 THEN | |
E = CSRLIN | |
IF B > 0 THEN | |
IF B / 2 = INT(B / 2) THEN F = 0 ELSE F = 7 | |
FOR I = 1 TO B | |
LINE (I * 8 - 7, E * 16 + I * 8 - 11 - F)-((I + 11) * 8 - 11, E * 16 + I * 8 + 22 - F), D, BF | |
LINE (I * 8 - 7, E * 16 + I * 8 - 11 - F)-((I + 11) * 8 - 11, E * 16 + I * 8 + 22 - F), 8, B | |
LINE (I * 8 - 3, E * 16 + I * 8 - 7 - F)-((I + 11) * 8 - 15, E * 16 + I * 8 + 18 - F), 0, BF | |
NEXT I | |
LOCATE E + INT(B / 2) + 1, B + 1 | |
COLOR 15 | |
PRINT " "; | |
IF C < 1000 THEN PRINT "$"; | |
PRINT LTRIM$(STR$(INT(C / 100))); | |
COLOR 14 | |
PRINT " "; CHR$(2); " "; | |
COLOR 15 | |
IF C < 1000 THEN PRINT "$"; | |
PRINT LTRIM$(STR$(INT(C / 100))); | |
FOR I = 1 TO 2: PRINT : NEXT I | |
END IF | |
ELSE | |
COLOR D | |
E = CSRLIN | |
FOR I = 1 TO B | |
F = POS(0) | |
PRINT " "; LTRIM$(STR$(C)); | |
IF C < 10 THEN PRINT ""; | |
PRINT " "; | |
CIRCLE (F * 8 + 15, E * 16 - 9), R, D | |
CIRCLE (F * 8 + 15, E * 16 - 9), R + 1, D | |
NEXT I | |
END IF | |
END SUB | |
FUNCTION Round$ (N, D AS INTEGER) | |
R$ = LTRIM$(STR$(INT(N * 10 ^ D + .5) / 10 ^ D)) | |
P = INSTR(R$, ".") | |
IF P = 1 THEN P = 2: R$ = "0" + R$ | |
IF P = 0 THEN | |
R$ = R$ + ".00" | |
ELSE | |
R$ = R$ + "000" | |
R$ = MID$(R$, 1, P + 2) | |
END IF | |
Round$ = R$ | |
END FUNCTION |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment