Looks great! I'd say print it and ship it, unless you'd like to mess with that spritesheet of ores that I mentioned. I think that would look really cool on the TI-84 Plus C Silver Edition (and on the CE, when Doors C[S]E eventually comes out).
I think we could add those in a CSE only version, since a potential DCS for the CE is an unknown amount of time away from release, because of reasons.

I'll button this up and prep it for release, and begin the back porting to the monochrome calcs.

Working on a bit of an intensive readme file now.
Incase you've missed the release:

https://www.cemetech.net/programs/index.php?mode=file&path=/84pce/basic/programs/abbace.zip

I intend to release this for the 84+ monochrome, and possibly other calculators, though those versions will lack the timer function.
After testing yesterday, it was found out that the latest version of this program fails at calculations for the points. I have determined there is an End statement issue, after fixing the xml of Tokens to show the block counts. I'll have to do some tracing sometime in the next day or so and see if I can resolve the issue.
tifreak8x wrote:
After testing yesterday, it was found out that the latest version of this program fails at calculations for the points. I have determined there is an End statement issue, after fixing the xml of Tokens to show the block counts. I'll have to do some tracing sometime in the next day or so and see if I can resolve the issue.
Good luck figuring out what went wrong. My experience is that code always fails under real-world conditions after it worked perfectly in controlled testing, so I hope you don't feel too frustrated about it.
Figured out the actual problem, the program dies when I tell it that dungeon artifacts have 0 points. Further investigation will be needed to see why. For now, giving it a score seems to let it work.
It would be nice if you could type the stack and loose items via the numpad rather than than using the arrow keys.
It would sadly make the program significantly bigger than I want it to be, as well. I've used the program to run the calculations a few times now, and it was still pretty quick.

On a side note, fix applied to the program for the colors and reuploaded to the wild!

Now working on porting it to the 84+.

Edit:

Configuring of scores and exiting the program works properly now. I've started in on making the timer show up properly, I just have to work on adjusting the remaining Text( commands for it so it will work. Something to do tomorrow.



Timer is fully functioning now Smile Since we obviously lack colors, I made it blink to attract attention to the fact that the time is up. Thoughts?

All that is left at this point is to have it input the amount of ores gotten and displays the total.

Edit:

Monochrome version completed:

https://www.cemetech.net/programs/index.php?mode=file&path=/83plus/basic/programs/abba84p.zip

It looks great, tifreak8x! I'm glad that you ported it to the large audience of people who still have the monochrome calculators. It looks like you were able to adapt the interface to fit well on the older calculators' screens.
Thanks! I tried to keep it as true as possible to the color version. Smile Not really sure what kind of improvements that could be made to the overall program, so I'm leaving it as is, as it seems to work. :p
Updated the monochrome version, apparently I did a - instead of ~ for negative sign, was causing errors. Whoopsie.


So I've gotten myself motivated to work on a new UI for entering in the values. Trouble is, I don't recall the slightly more compact routine to take the inputs for keys 0-9, and return those values to a variable. Going to fiddle with it a bit, see if I can't figure it out. Been ages since I've done any real coding, and it feels nice. Smile


Code:
ClrDraw:AxesOff
BackgroundOff
34→H:110→I:6→W
Text(⁻1,0,60,"ABBA CAVING
Text(⁻1,17,67,"CALCULATOR
SetUpEditor ʟABBA
{0,1,2,4,8,10,10,10→ʟABBA
SetUpEditor ʟABBA2
15→dim(ʟABBA2:Fill(0,ʟABBA2
Text(34,0,"COAL ORE:
TextColor(ORANGE
Text(47,0,"IRON ORE:
TextColor(RED
Text(60,0,"REDSTONE ORE:
TextColor(YELLOW
Text(73,0,"GOLD ORE:
TextColor(BLUE
Text(86,0,"LAPIS ORE:
TextColor(LTBLUE
Text(99,0,"DIAMOND ORE:
TextColor(GREEN
Text(112,0,"EMERALD ORE:
TextColor(BLACK
Text(125,0,"ARTIFACTS:
Text(150,0,"Total Score:
0→θ
For(F,1,13,2
Text(34+θ,120,ʟABBA2(F
Text(34+θ,170,ʟABBA2(F+1
θ+13→θ
End
Text(125,170,ʟABBA2(15

While W=6
Text(H,I,"►
ʟABBA(1)((64ʟABBA2(1))+ʟABBA2(2))+ʟABBA(2)((64ʟABBA2(3)+ʟABBA2(4))+ʟABBA(3)((64ʟABBA2(5))+ʟABBA2(6))+ʟABBA(4)((64ʟABBA2(7))+ʟABBA2(8))+ʟABBA(5)((64ʟABBA2(9))+ʟABBA2(10))+ʟABBA(6)((64ʟABBA2(11))+ʟABBA2(12))+ʟABBA(7)((64ʟABBA2(13))+ʟABBA2(14))+ʟABBA(8)(ʟABBA2(15))→J
If J≠L:Text(150,120,"                                        "
Text(150,120,J
J→L
getKey→K
If K:Text(H,I,"     
H-13((K=25 and H>34)-(K=34 and H<125→H
I-50((K=24 and I>110)-(K=26 and I<160→I
If H=125 and I=110:160→I
If K=22:Return





End


Is what I've managed thus far. Keep it safe here incase my computer tries to do a thing.
I'm very happy to see you picking up some TI-BASIC coding once more! I'll try not to give away that routine (unless you want me to), other than the hint that you should try mapping 1-3 (key codes 92 to 94) to the values 1-3, then look at how to extract just the first digit of 72-74 (7), 82-84 (Cool, and 92-94 (9).
So far, my attempts have been most unsuccessful. I've tried utilizing max( and various equations I thought would work. Going to try one other thing I thought of, see what that nets me. If nothing else, I'm sure the algorithm is out there, just have to find it.
Been a while since I've posted about this project, eh?

I had figured out a way to get values from keypresses. Not the most elegant solution I came up with, but I can make it work well enough.

I spent a bit of time this evening figuring out how to know where the cursor was so I could update the proper list element. Required moving the artifacts value display to the first column. Not overly happy that I had to do that, but it is what it is.

Trying to regain some form of connection with the community, since I've not really done much here of late in terms of anything. Hope to have more soon!


Edit:
Okay, spent a little time while I was focused on this, and I now have it able to enter and delete values in each spot for the table. Next up is to update the score live as each new value is input into the program Smile And integrate this fully into the actual abba program to test.
Showing off the input and deletion of values along with an updated score. I still need to verify that the maths for the scoring is correct.



I also need to put in some labeling for stacks vs less than a stack. Not sure how to integrate that as of yet.
I'm thrilled to see that you're back to working on this! To help brainstorm, if you made "ABBA CAVING CALC" all one line at the top, you'd have room to put labels at the top of the columns. You could also put sideways "BLOCKS" and "STACKS" text to the left or even right of the columns of numbers (by sideways, I mean characters rotated 90 degrees counterclockwise, not just the letters laid out in a vertical column).
I have to say, it felt nice to flex those muscles again. The code I'm using to run this atm is:


Code:
ClrDraw:AxesOff
BackgroundOff
34→H:110→I:6→W
Text(⁻1,0,60,"ABBA CAVING
Text(⁻1,17,67,"CALCULATOR
SetUpEditor ʟABBA
{0,1,2,4,8,10,10,10→ʟABBA
SetUpEditor ʟABBA2
15→dim(ʟABBA2:Fill(0,ʟABBA2
Text(34,0,"COAL ORE:
TextColor(ORANGE
Text(47,0,"IRON ORE:
TextColor(RED
Text(60,0,"REDSTONE ORE:
TextColor(YELLOW
Text(73,0,"GOLD ORE:
TextColor(BLUE
Text(86,0,"LAPIS ORE:
TextColor(LTBLUE
Text(99,0,"DIAMOND ORE:
TextColor(GREEN
Text(112,0,"EMERALD ORE:
TextColor(BLACK
Text(125,0,"ARTIFACTS:

Text(150,0,"Total Score:
0→θ
For(F,1,13,2
Text(34+θ,120,ʟABBA2(F
Text(34+θ,170,ʟABBA2(F+1
θ+13→θ
End
Text(125,120,ʟABBA2(15

While W=6
Text(H,I,"►
Text(148,170,J
((((H-34)/13)2)+1)+1(I=160)→|N
If J≠L:Then
Text(150,170,"                                        "
J→L
End
getKey→K
If K:Text(H,I,"     
H-13((K=25 and H>34)-(K=34 and H<125→H
I-50((K=24 and I>110)-(K=26 and I<160→I
If H=125 and I=160:110→I
If K=22:Return
If max(K={72,73,74,82,83,84,92,93,94,102:Then
expr(sub("789       456       123       0",K-71,1)→Z
((((H-34)/13)2)+1)+1(I=160)→|N
ʟABBA2(|N)*10→ʟABBA2(|N:ʟABBA2(|N)+Z→ʟABBA2(|N)
If ʟABBA2(|N)>64:64→ʟABBA2(|N)
Text(H,I+10,ʟABBA2(|N
End
If K=23:Then
ʟABBA2(|N)/10→ʟABBA2(|N:iPart(ʟABBA2(|N→ʟABBA2(|N
Text(H,I+10,"                    "
Text(H,I+10,ʟABBA2(|N
End
ʟABBA(1)((64ʟABBA2(1))+ʟABBA2(2))+ʟABBA(2)((64ʟABBA2(3)+ʟABBA2(4))+ʟABBA(3)((64ʟABBA2(5))+ʟABBA2(6))+ʟABBA(4)((64ʟABBA2(7))+ʟABBA2(8))+ʟABBA(5)((64ʟABBA2(9))+ʟABBA2(10))+ʟABBA(6)((64ʟABBA2(11))+ʟABBA2(12))+ʟABBA(7)((64ʟABBA2(13))+ʟABBA2(14))+ʟABBA(8)(ʟABBA2(15))→J

End


It's completely unoptimized because I still need to polish a few finishing touches, like the labels and making it so you can cleanly exit out of this portion of the program to return to the menu. I also haven't yet verified that my equations are 100% accurate yet for the final score.

I'll look into your suggestions for the labels and see how that looks.
Obviously I couldn't let that long array of Text and TextColor go unrepaired. Here's one option from the original:
Code:
Text(34,0,"COAL ORE:
TextColor(ORANGE
Text(47,0,"IRON ORE:
TextColor(RED
Text(60,0,"REDSTONE ORE:
TextColor(YELLOW
Text(73,0,"GOLD ORE:
TextColor(BLUE
Text(86,0,"LAPIS ORE:
TextColor(LTBLUE
Text(99,0,"DIAMOND ORE:
TextColor(GREEN
Text(112,0,"EMERALD ORE:
TextColor(BLACK
Text(125,0,"ARTIFACTS:
Modified form:
Code:
{1,4,4,8,4,5,7,7,9->L1
For(X,1,8
{ORANGE,RED,YELLOW,BLUE,LTBLUE,GREEN,BLACK
TextColor(Ans(X
cumSum(L1
sub("COALIRONREDSTONEGOLDLAPISDIAMONDEMERALDARTIFACTS",L1(X),Ans(X+1
If X<8:Ans+" ORE
Text(21+13*X,0,Ans+":
End
I'll let someone else take a crack at the color stuff.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement