Latest progress:
This now counts all ores based on scores, ignores any ores that has a score value of 0, and tallies up the values after you input all the amounts of each item. At most, you can say you have 36 stacks of any ore, or 36 dungeon items. For ores, you input stacks and how many loose, which is 0-63.
If you watch, first screenshot shows first time running the program. Second one shows running it again. Second shot shows off changing the points for some of the items, and you'll notice that when I go to enter the scores, it ignores the ones with a value of 0.
Also, because I want to keep an online backup of my code as it is now:
Code: ClrDraw:AxesOff
BackgroundOff
1→W
While iPart(W)=1
TextColor(BLACK
Text(⁻1,0,60,"ABBA CAVING
Text(⁻1,20,67,"CALCULATOR
SetUpEditor ʟABBA
" "→Str5
For(F,1,21
Str5+" "→Str5
End
If dim(ʟABBA)=0 or W=1.3:Then
If dim(ʟABBA)=0:{0,1,1,4,9,10,10,15→ʟABBA
Text(43,87,"SET VALUES:
Text(55,0,"COAL ORE:
TextColor(ORANGE
Text(67,0,"IRON ORE:
TextColor(RED
Text(79,0,"REDSTONE ORE:
TextColor(YELLOW
Text(91,0,"GOLD ORE:
TextColor(BLUE
Text(103,0,"LAPIS ORE:
TextColor(LTBLUE
Text(115,0,"DIAMOND ORE:
TextColor(GREEN
Text(127,0,"EMERALD ORE:
TextColor(BLACK
Text(139,0,"DUNGEON ARTIFACTS:
For(F,1,8
Text(43+F(12),170,ʟABBA(F
End
2→W:55→C
While W=2
Text(C,160,"<
Text(C,190,">
Text(C,170,ʟABBA(iPart(C/12)-3
getKey→K
If K=25 or K=34:Then
Text(C,160,"
Text(C,190,"
End
If K=24 or K=26
Text(C,170,"
C-12((C>43 and K=25)-(C<151 and K=34→C
If C=43:139→C
If C=151:55→C
iPart(C/12)-3→D
ʟABBA(D)+.5(ʟABBA(D)<5 and K=26)+1(ʟABBA(D)≥5 and K=26 and ʟABBA(D)<15)-.5(ʟABBA(D)≤5 and K=24 and ʟABBA(D)>0)-1(K=24 and ʟABBA(D)>5→ʟABBA(D
If K=21 or K=105:Then
For(F,43,139,12
Text(F,0,Str5
End:1.6→W:End
End
End
1.6→W
If W=1.6:Then
80→C
Text(80,70,"RUN CALCULATION
Text(92,70,"CONFIGURE SCORES
Text(104,70,"GAME TIMER
Text(116,70,"EXIT PROGRAM
3→W
While W=3
Text(C,60,">
getKey→K
If K:Text(C,60,"
C-12((K=25 and C>68)-(K=34 and C<128→C
If C=128:80→C
If C=68:116→C
If K=21 or K=105:Then
If C=92:Then
For(F,80,116,12
Text(F,0,Str5
End
1.3→W
End
If C=116:DelVar W
If C=104:6→W
If C=80:5→W
End:"21105
End:"3
End:"1.6
If W=6:Then
"TIMER
End:"6
If W=5:Then
{0,0,0,0,0,0,0,0→ʟTMP
For(F,80,116,12
Text(F,0,Str5
End
0→F
For(F,0,6
0→A:0→B:97→C
If ʟABBA(F+1)>0:Then
sub("COAL IRON REDSTONEGOLD LAPIS DIAMOND EMERALD ",1+F(8),8→Str6
Text(55,110,"ORE:
Text(67,110,Str6
Text(85,75,"X64:
Text(127,75,"<64:
6→W
While W=6
Text(97,85,A
Text(139,85,B
If (A>0 and C=97) or (B>0 and C=139
Text(C,75,"<
If (A<36 and C=97) or (B<63 and C=139
Text(C,105,">
getKey→K
If K:Then
Text(C,75,"
Text(C,105,"
End
C-42((K=25 and C>97)-(K=34 and C<139→C
If C=97 and K:Text(97,85,"
If C=139 and K:Text(139,85,"
A-1((A>0 and K=24 and C=97)-(A<36 and K=26 and C=97→A
B-1((B>0 and K=24 and C=139)-(B<63 and K=26 and C=139→B
If K=21 or K=105:Then
(A(64))(ʟABBA(F+1))+B(ʟABBA(F+1)→ʟTMP(F+1
5→W
Text(67,0,Str5
Text(97,0,Str5
Text(139,85,"
End
End:"6
End:"If
End:"For(
For(F,55,139,12
Text(F,0,Str5
End
If ʟABBA(8)>0:Then
DelVar A
Text(100,70,"DUNGEON
Text(112,60,"ARTIFACTS
Text(127,75,"≤36
8→W
While W=8
Text(139,85,A
If A>0:Text(139,75,"<
If A<36:Text(139,105,">
getKey→K
If K:Text(139,85,"
A-1((K=24 and A>0)-(K=26 and A<36→A
If K=21 or K=105:Then
A(ʟABBA(8)→ʟTMP(8
For(F,100,151,12
Text(F,0,Str5
End
9→W
End
End:"8
End:"If
End:"5
If W=9:Then
Text(40,75,"TOTALS:
52→C
For(F,0,7
TextColor(BLACK
Text(C,0,sub("COAL IRON REDSTONEGOLD LAPIS DIAMOND EMERALD DUNGEON ",1+F8,8
TextColor(BLUE
Text(C,85,"+ ",ʟTMP(F+1
C+12→C
End
TextColor(BLACK
Text(150,0,"TOTAL:
TextColor(RED
Text(150,90,sum(ʟTMP
Repeat getKey
End
TextColor(BLACK
For(F,40,150,12
Text(F,0,Str5
End
1→W
End:"9
End:"W=1
DelVar Str5DelVar ʟTMP
Archive ʟABBA
ClrDraw:ClrHome
Disp
This is, in no way, my final version. Please don't offer suggestions to things, as I still have more to add and a lot of clean up to do. Thanks.