Today I've started programming what will be the closest thing to Final Fantasy, Dragon Quest, Chrono Trigger, and Earthbound available on the TI 84 Plus C Silver Edition. Not only will it have magic and items and colorful stuff like the new First Fantasy: Mana Force game (which is far better than Final Fantasy 7 and the newer Final Fantasy games), but it will also have a team of three heroes, an equipment system, and a non-linear plot. But here's where things get troublesome. When programming the game, I realized that it would take me four lists to stay organized with the coding (one for the characters, one for the inventory, one for the equipment and the spell lists, and one for the location and game progress) but I also want enough room for two or three save slots. So... what should I do? I know some possible options such as shoving the game data into one huge list but it would take up to much RAM to get the elements of the save into the gameplay list. So... what should I do?
Welcome to Cemetech; this sounds like a fun project! Allow me to introduce you to the concept of custom lists. Just as you can use lists L1 through L6, you can also create your own lists with names between 1 and 5 characters. They must begin with a letter, and like the pre-defined L1-L6 lists, can hold up to 999 elements. To use a custom list, use the little "L" symbol (in the [2nd][stat] menu), followed by the name of the list.
I'd pack the data into an AppVar and use the Celtic libraries that come with DCSE to read/write the data.
[quote="merthsoft"]I'd pack the data into an AppVar and use the Celtic libraries that come with DCSE to read/write the data.[/quote]

How'd that work? Which AppVar should it be packed into.
http://dcs.cemetech.net/index.php/SDK

At the bottom of that page shows off everything for Doors CSE for the color calculator, you want the two BASIC items. You'll need to know about the header, and the other link shows off all available library items.
You can use whatever AppVar you want. Documentation is is on the Wiki, and you can look at existing games to see how they do it. For example, BlockDude uses AppVars for level data./
Calc_Knight wrote:
merthsoft wrote:
I'd pack the data into an AppVar and use the Celtic libraries that come with DCSE to read/write the data.


How'd that work? Which AppVar should it be packed into.

I thought DJ_O linked you to the DCSE libraries page? Read up on that, it'll come in handy in the future!
Basically, an AppVar is a renameable string that you can store any string values into. Here's how to create an AppVar named "TESTVAR" and put the text "LINE 1" on line 1 of it and "LINE 2" on line 2 of it.


Code:

"rowSwap(TESTVAR->Str0 //the rowSwap( thing is so that Celtic knows it's an appvar, not a program. It's important that you don't close the parenthesis here. [rowSwap( is found in the [2ND][x⁻ยน] MTRX menu.]
det(4 //det(4)=CreateVar. Creates a program or appvar, and names it to whatever's in Str0 (in this case it's named TESTVAR)
"LINE 1->Str9
1 //line 1
det(2 //det(2)=InsertLine. Inserts a line at whatever's in Ans (meaning last evaluated; in this case 1) in the variable in Str0 with the contents of Str9.
"LINE 2->Str9
2 //line 2
det(2


Uncommented (it's really pretty simple)

Code:

"rowSwap(TESTVAR->Str0
det(4
"LINE 1->Str9
1:det(2
"LINE 2->Str9
2:det(2


That's basically it! There are a few more operations, but those are covered on the wiki page (which you should really read if you haven't!).

As for the actual game, I actually agree with Kerm that you should use custom lists instead of AppVars. If you don't want them taking up RAM, you can Archive them at the end of your program (found in the [2ND][+] MEM menu). Good luck!

Edit: Note that custom if you use custom lists, you should use SetUpEditor, found in the [2ND][0] CATALOG, to unarchive the lists as opposed to the UnArchive command; this page explains it better than I can.
  
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 1 of 1
» 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