Skip to content

Instantly share code, notes, and snippets.

@eevee
Last active April 5, 2016 21:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eevee/21def460854e675438a0353246385885 to your computer and use it in GitHub Desktop.
Save eevee/21def460854e675438a0353246385885 to your computer and use it in GitHub Desktop.
I was a dick
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
PRINT
Change 25, 7, 15: Change 10, 7, 9: Change 5, 7, 13: Change 1, 6, 11
PRINT
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