days 2 and 4 in apple basic
parent
23effc4830
commit
ad6eddeeb7
@ -0,0 +1,25 @@
|
||||
REM Advent of Code 2022: Day 2, part 1
|
||||
REM Written in Applesoft BASIC
|
||||
|
||||
10 ONERR GOTO 900
|
||||
20 PRINT CHR$ (4),"OPEN INPUT"
|
||||
30 PRINT CHR$ (4),"READ INPUT"
|
||||
60 DIM RPC$(3):RPC$(0) = "ROCK":RPC$(1) = "PAPER":RPC$(2) = "SCISSORS"
|
||||
70 SC = 0
|
||||
100 GET A$: GET Z$
|
||||
110 GET Z$: GET Z$
|
||||
120 GET B$: GET Z$
|
||||
130 GET Z$: GET Z$
|
||||
140 AV = ASC (A$) - 65
|
||||
150 BV = ASC (B$) - 88
|
||||
200 SC = SC + BV + 1
|
||||
230 R = AV - BV
|
||||
240 IF AV = BV THEN SC = SC + 3: GOTO 300
|
||||
250 IF AV = 0 AND BV = 1 THEN SC = SC + 6: GOTO 300
|
||||
260 IF AV = 1 AND BV = 2 THEN SC = SC + 6: GOTO 300
|
||||
270 IF AV = 2 AND BV = 0 THEN SC = SC + 6
|
||||
300 PRINT RPC$(AV),"VS.",RPC$(BV),"SCORE = ";SC
|
||||
310 GOTO 100
|
||||
900 PRINT CHR$ (4),"CLOSE"
|
||||
910 END
|
||||
|
@ -0,0 +1,24 @@
|
||||
REM Advent of Code 2022: Day 2, part 2
|
||||
REM Written in Applesoft BASIC
|
||||
|
||||
10 ONERR GOTO 900
|
||||
20 PRINT CHR$ (4),"OPEN INPUT"
|
||||
30 PRINT CHR$ (4),"READ INPUT"
|
||||
60 DIM RPC$(3):RPC$(0) = "ROCK":RPC$(1) = "PAPER":RPC$(2) = "SCISSORS"
|
||||
70 SC = 0
|
||||
80 DIM OC(9):OC(0) = 3:OC(1) = 4:OC(2) = 8:OC(3) = 1:OC(4) = 5:OC(5) = 9:OC(6) = 2:OC(7) = 6:OC(8) = 7
|
||||
90 DIM MYC$(3):MYC$(0) = "LOSE":MYC$(1) = "DRAW":MYC$(2) = "WIN"
|
||||
100 GET A$: GET Z$
|
||||
110 GET Z$: GET Z$
|
||||
120 GET B$: GET Z$
|
||||
130 GET Z$: GET Z$
|
||||
140 AV = ASC (A$) - 65
|
||||
150 BV = ASC (B$) - 88
|
||||
160 OI = AV * 3 + BV
|
||||
170 SC = SC + OC(OI)
|
||||
180 PRINT "OPPONENT PLAYS ";RPC$(AV);",","I ";MYC$(BV);".","SCORE = ";SC
|
||||
190 GOTO 100
|
||||
900 PRINT CHR$ (4),"CLOSE"
|
||||
910 END
|
||||
|
||||
|
@ -0,0 +1,28 @@
|
||||
REM Advent of Code 2022: Day 4, part 1
|
||||
REM Written in Applesoft BASIC
|
||||
|
||||
10 ONERR GOTO 900
|
||||
20 PRINT CHR$ (4),"OPEN INPUT"
|
||||
30 PRINT CHR$ (4),"READ INPUT"
|
||||
40 DIM GP(4)
|
||||
50 DU = 0
|
||||
100 FOR I = 0 TO 3:GP(I) = 0: NEXT I
|
||||
110 I = 0
|
||||
200 GET C$: GET Z$
|
||||
210 CV = ASC (C$)
|
||||
220 IF CV < 48 GOTO 300
|
||||
230 IF CV > 57 GOTO 300
|
||||
240 CV = CV - 48
|
||||
250 GP(I) = GP(I) * 10 + CV
|
||||
260 GOTO 200
|
||||
300 I = I + 1
|
||||
310 IF I < 4 GOTO 200
|
||||
400 IF GP(0) > = GP(2) AND GP(1) < = GP(3) GOTO 500
|
||||
410 IF GP(2) > = GP(0) AND GP(3) < = GP(1) GOTO 500
|
||||
430 GOTO 100
|
||||
500 DU = DU + 1
|
||||
510 PRINT "EXTRA CLEANING DONE BY ";DU;" ELVES..."
|
||||
520 GOTO 100
|
||||
900 PRINT CHR$ (4),"CLOSE"
|
||||
910 END
|
||||
|
@ -0,0 +1,27 @@
|
||||
REM Advent of Code 2022: Day 4, part 2
|
||||
REM Written in Applesoft BASIC
|
||||
|
||||
10 ONERR GOTO 900
|
||||
20 PRINT CHR$ (4),"OPEN INPUT"
|
||||
30 PRINT CHR$ (4),"READ INPUT"
|
||||
40 DIM GP(4)
|
||||
50 DU = 0
|
||||
100 FOR I = 0 TO 3:GP(I) = 0: NEXT I
|
||||
110 I = 0
|
||||
200 GET C$: GET Z$
|
||||
210 CV = ASC (C$)
|
||||
220 IF CV < 48 GOTO 300
|
||||
230 IF CV > 57 GOTO 300
|
||||
240 CV = CV - 48
|
||||
250 GP(I) = GP(I) * 10 + CV
|
||||
260 GOTO 200
|
||||
300 I = I + 1
|
||||
310 IF I < 4 GOTO 200
|
||||
400 IF GP(3) > = GP(0) AND GP(1) > = GP(2) GOTO 500
|
||||
430 GOTO 100
|
||||
500 DU = DU + 1
|
||||
510 PRINT "EXTRA CLEANING DONE BY ";DU;" ELVES..."
|
||||
520 GOTO 100
|
||||
900 PRINT CHR$ (4),"CLOSE"
|
||||
910 END
|
||||
|
Loading…
Reference in New Issue