Omnimaga

General Discussion => Introduce Yourself! => Topic started by: Reptic on November 12, 2010, 01:13:02 pm

Title: My Introduction
Post by: Reptic on November 12, 2010, 01:13:02 pm
Hello, this is my first post so I decided to start with an introduction. I'm new to calculator programming and graphing calculators in general - I just bought my first calculator, a TI-84+, a few days ago. However, I quickly became interested in making some games for it. That's how I discovered Omnimaga. I have some experience with BASIC (computer BASIC, not TI), and a bit of experience with a few scripting languages (like C# and AS3), however I would still consider myself somewhat of a novice when it comes to programming. After looking over some posts on this forum, I have a few questions I hope someone can answer:

1) I've been reading a lot about shells for calculators, like MirageOS. What exactly do they do, and are they necessary? And if so, which one is most recommended?

2) As mentioned, I'm interested in learning to program my Ti-84+. Where exactly should I begin? I know there is Ti-Basic, Axe, and ASM, and I'm interested in learning ASM, but I know I should start with Basic or Axe. Which one would do you guys think I should begin with? I have some BASIC experience, if that would help. Also, what is the best tutorial/learning resource for the language advised?

I know this probably seems like a lot of questions, but like I said, I'm new to all of this, so I can't help being curious  :P

Thanks in advance.
Title: Re: My Introduction
Post by: Munchor on November 12, 2010, 01:14:27 pm
MirageOS/DoorsCS/Ion are shells that can be used to open programs that are transferred to calc or made in-calc.

Start with Basic, do a few basic programs to learn, then go to Axe :)
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 01:21:08 pm
Is it not possible to open user made programs without the shells?

Also, what are the best Basic tutorials/resources?

Title: Re: My Introduction
Post by: Deep Toaster on November 12, 2010, 01:22:49 pm
Welcome to Omnimaga, Reptic! Don't worry if you're new to calcs. You'll learn fast :D BASIC is pretty different from TI-BASIC, but it's a really simple language. Play around (thankfully, there's almost a 0% chance of crashing your calc with it).

For shells, they're mostly to run ASM programs. Without them, you'd have to run them with Asm(prgmNAME). Shells basically give you a nice GUI and a lot of other features, and especially libraries. A lot of ASM games are made for those libraries, so you'd have to download a shell to run them.

I'd recommend MirageOS if you want something (very) functional and compatible with almost all programs that's nice and small. But if you want other special features like xLIB compatibility (for lib-enhanced BASIC) and fast editing, try DoorsCS (http://dcs.cemetech.net/). It's compatible with all programs MirageOS can run and some more, too, at the cost of being 3x larger.

As for languages, definitely start with BASIC. As I mentioned, it's pretty different from all comp languages, but it's got a easy syntax. You should be really comfortable with your calc before you start trying stuff with Axe (and direct ASM).
Title: Re: My Introduction
Post by: Munchor on November 12, 2010, 01:23:26 pm
Is it not possible to open user made programs without the shells?

Also, what are the best Basic tutorials/resources?



If I have an Axe or an Asm program it will be easier to open it using a shell, instead of using the command:

Code: [Select]
Asm(prgmPRGMNAME
If you have a TI-Basic program it can be opened using both the Prgm Button and the Shell (DoorsCS is what I use).

The shell organizes the file in a decent way while the PRGM button is just a number based menu complicated to open files when you have +15 programs (which you will have if you start programming and playing).

Title: Re: My Introduction
Post by: Deep Toaster on November 12, 2010, 01:25:42 pm
For tutorials, I personally don't think you need any for BASIC. Just play around :)

There are some pretty useful tutorials for specific stuff (like tilemapping) here (http://ourl.ca/4541). And then there's TI-BASIC Developer (http://tibasicdev.wikidot.com/home/), which has a lot of really useful info.

Is it not possible to open user made programs without the shells?

Also, what are the best Basic tutorials/resources?



You definitely do not need shells for BASIC programs (unless you're using libs, but you should get comfortable with pure BASIC first). Running a BASIC program from a shell is kinda overdoing it since you can just run it from your homescreen.

I write an Axe program:
Code: [Select]
:.HEWORLD
:Disp "Hello World

I convert it to Asm using Axe Application.

This program can be opened using a shell, it may not be, but shells are better organized that the Program Button of the calculator.

Check TI BASIC Dev for TI BASIC TUTORIALS.

Try BASIC first. No compiling or shells needed.
Title: Re: My Introduction
Post by: Munchor on November 12, 2010, 01:28:35 pm
Code: [Select]
Disp "Hello World
Code: [Select]
1->A
Disp A

Code: [Select]
"Hello"->A
"World"->B
Disp A,B

Code: [Select]
Prompt A
Disp A

Code: [Select]
Promp A
Prompt B
Prompt C
Disp A*B*C

Code: [Select]
Disp "CIRCLEA AREA"
Prompt R
Disp RR(pi)

These are a few ti-basic BASIC codes, "->" means the STO symbol, the key for STO, and there's always a ":" before lines :D

Oh, and (pi) stands for pi, the key for pi

Good Luck
Title: Re: My Introduction
Post by: Deep Toaster on November 12, 2010, 01:30:16 pm
Code: [Select]
"Hello"->A
"World"->B
Disp A,B

That will definitely not work. Strings must be stored to strings (they're in VARS > 7:String...).
Title: Re: My Introduction
Post by: Munchor on November 12, 2010, 01:34:09 pm
It won't work? ??? Really not in Basic? Hahahahaahahahhaahahahah I always thought so, and I've been programming 1 month without knowing that, how stupid!
Title: Re: My Introduction
Post by: LordConiupiter on November 12, 2010, 01:36:41 pm
welcome on these forums, Reptic! Good luck on learning BASIC! it's as already has been said, just play around with it! And don't doubt wheter you should post your questions/problems on omnimaga or not, we'll certainly help you!

@ScoutDavid:
LOL, that's pretty strange ;D
Title: Re: My Introduction
Post by: nemo on November 12, 2010, 01:39:55 pm
welcome to omnimaga!

as deepthought pointed out, you definitely want to check out TI Basic Developer (TIBD is what its usually referred to). a ton of neat optimization tricks can be found there for TI-Basic. As for whether to learn BASIC, Axe or ASM, i'd definitely suggest either BASIC or Axe to start. if you're confident with data and pointers in C/C++, i'd go with Axe because Axe has those concepts. if you are shaky with dealing with raw memory and the terms byte, bit, nibble, data pointer, word, hexadecimal and binary aren't well-defined in your head, i'd definitely go with TI Basic. with Axe you can easily clear the RAM of your calculator. Axe is the type of language that gives you access to several KB of memory to play around with however you choose and assumes you generally know what you're doing. TIBASIC will nearly never crash (you'd have to be trying really hard to make it), and all programs can be interrupted by pressing [On].
Title: Re: My Introduction
Post by: JosJuice on November 12, 2010, 01:48:01 pm
Welcome to Omnimaga! As usual, here are some peanuts ;D

(http://i219.photobucket.com/albums/cc143/drumbboi/peanut-bag.gif)
Title: Re: My Introduction
Post by: Deep Toaster on November 12, 2010, 01:52:42 pm
Welcome to Omnimaga! As usual, here are some peanuts ;D

Heh, wait till yunhua98 gets here. He'll give you some interactive stuff ;)
Title: Re: My Introduction
Post by: Michael_Lee on November 12, 2010, 01:54:08 pm
Hi!  Welcome to Omnimaga.

1) I've been reading a lot about shells for calculators, like MirageOS. What exactly do they do, and are they necessary? And if so, which one is most recommended?

Shells are not necessary to program, but they are necessary to play some games.  If you go on ticalc.org, you'll see that there are a bunch of 'Ion', 'MirageOS', or 'DoorCS' assembly games.  These are different from normal assembly games - you just use the command 'Asm(pgrmTHEGAME)'.  However, if you try to use the 'Asm( command to run, say, a MirageOS game, it won't work.  You have to use MirageOS.  If size isn't a concern for you, I'd recommend DoorsCS - it's in active development, plus it can run nearly any game in existance.

2) As mentioned, I'm interested in learning to program my Ti-84+. Where exactly should I begin? I know there is Ti-Basic, Axe, and ASM, and I'm interested in learning ASM, but I know I should start with Basic or Axe. Which one would do you guys think I should begin with? I have some BASIC experience, if that would help. Also, what is the best tutorial/learning resource for the language advised?

I know this probably seems like a lot of questions, but like I said, I'm new to all of this, so I can't help being curious  :P

I would recommend holding off on assembly and Axe for awhile - just spend a few weeks hanging around the forum, and asking questions.  Once you think you have a fairly solid understanding of how the calculator works, you should then start Axe or Assembly.
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 01:55:24 pm
Wow, I left for a short time and so many replies! Thanks everyone for the help (and JosJuice for the peanuts). I will definitely start out with Ti-Basic, and use TIBD for some help. I'll try and play around with it to see what I can come up with. My only worry was that I would be unsure as to what certain commands do without documentation, but I suppose that's what experimentation is for :). As for the shell, I'll start out without one, but after working a bit with my calc I'll look into MirageOS or DoorsCS.
Title: Re: My Introduction
Post by: Michael_Lee on November 12, 2010, 01:57:24 pm
Yeah.  I think TIBD has a tutorial that was pretty helpful, although it gets a bit complicated in some parts.  Don't be afraid to experiment - there's almost no way that BASIC can mess up your calc - it was intentionally designed to be safe.
Title: Re: My Introduction
Post by: Deep Toaster on November 12, 2010, 01:58:40 pm
Yeah.  I think TIBD has a tutorial that was pretty helpful, although it gets a bit complicated in some parts.  Don't be afraid to experiment - there's almost no way that BASIC can mess up your calc - it was intentionally designed to be safe.

Oh, and as you're testing stuff out, the manual's pretty helpful for syntax. Chapter 18's for programming commands, I think.
Title: Re: My Introduction
Post by: aeTIos on November 12, 2010, 02:02:36 pm
I agree with Doors CS as best Shell.
I disagree with learning BASIC first, when programming in BASIC you'll get usual to a few strange BASIC-only things.
Like as Reptic, when I started learning Axe, I knew a little BASIC.
I started with learning Axe 4 days from my beginning in programming (I can program in basic less than when I started ;D :) ), and I never had probs with learning Axe.
The best learning resource: Axe Parser Manual (included in the Axe ZIP file)
So, my advice:
Use Doors CS, and start programming in Axe!
Title: Re: My Introduction
Post by: AngelFish on November 12, 2010, 02:07:07 pm

2) As mentioned, I'm interested in learning to program my Ti-84+. Where exactly should I begin? I know there is Ti-Basic, Axe, and ASM, and I'm interested in learning ASM, but I know I should start with Basic or Axe. Which one would do you guys think I should begin with? I have some BASIC experience, if that would help. Also, what is the best tutorial/learning resource for the language advised?

Under no circumstances should you have ASM as your first language. It's about as user friendly as a cactus is huggable, if not less so. Basically, if you mess up in Assembly, at the very least you will clear your RAM. At the worst, you'll no longer have a working calculator. I'd recommend starting with BASIC first, because Axe has most of the same problems as Assembly, but in a more user friendly format. With either ASM or Axe, you'll get used to seeing the RAM clear screen very quickly. BASIC, on the other hand, is like a pair of safety scissors. It's nearly impossible to cut yourself, but they're excellent for learning how to use scissors safely.

Some of the best tutorials on TI-BASIC can be found here (http://tibasicdev.wikidot.com/). I keep some of the pages bookmarked for my occasional relapses into BASIC. If you need help with anything, though, just ask on Omnimaga. The forums at TI dev are almost dead, so you aren't likely to get as much help there.

Once you've learned the basics of BASIC (pun intended), then you should consider making the transition to a more powerful language such as Axe or ASM. There are also things BASIC can do that no other calc language can without significant effort, namely floating point math. The math you're used to from school is completely different from the math you need to code ASM or even Axe, largely as a result of the fact that decimals don't exist in those languages.
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 02:07:27 pm
Oh, and as you're testing stuff out, the manual's pretty helpful for syntax. Chapter 18's for programming commands, I think.

Which manual? The Ti-84+ manual from the Ti web site?
Title: Re: My Introduction
Post by: Deep Toaster on November 12, 2010, 02:08:57 pm
Oh, and as you're testing stuff out, the manual's pretty helpful for syntax. Chapter 18's for programming commands, I think.

Which manual? The Ti-84+ manual from the Ti web site?

The one that came with your calc. The one online seems even less user-friendly, for some reason :P

EDIT: But don't rely on it to learn commands. Try random stuff, and when you get ERR:SYNTAX (you definitely will, and >9000 times), look it up :D
Title: Re: My Introduction
Post by: AngelFish on November 12, 2010, 02:13:03 pm
If you start with BASIC, that syntax list will definitely become your best friend.
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 02:15:34 pm
The only manual that came with my calc is the Getting Started Guide for Ti-84+ and Ti-84+ SE. Unless the manual is on the software disc packaged with the calc, I think I may be missing it :(
Title: Re: My Introduction
Post by: aeTIos on November 12, 2010, 02:15:49 pm
I never got that list :/ I bought a calc at school, €92,00, TI-84Plus, thats very cheap, in stores they cost  €110,-
(Note: €1,- =~1,37 USD)

Edit: @ Reptic, I had the same thing, its not cool :/ maybe TI supplies manuals not longer, cuz everyone has a PC ( personally, I like off-PC manuals best)
Title: Re: My Introduction
Post by: Deep Toaster on November 12, 2010, 02:17:16 pm
The only manual that came with my calc is the Getting Started Guide for Ti-84+ and Ti-84+ SE. Unless the manual is on the software disc packaged with the calc, I think I may be missing it :(

Really? Maybe TI cut that too? D:
Title: Re: My Introduction
Post by: AngelFish on November 12, 2010, 02:17:18 pm
The only manual that came with my calc is the Getting Started Guide for Ti-84+ and Ti-84+ SE. Unless the manual is on the software disc packaged with the calc, I think I may be missing it :(

The white thing that's moderately thick? That should be it. If not, then the website I linked has a complete listing of the syntax of all of the commands.
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 02:20:16 pm
The white thing that's moderately thick? That should be it. If not, then the website I linked has a complete listing of the syntax of all of the commands.

Well, the guide is white and moderately thick, but I don't see any syntax listing. Do you know what page it might be on?
Title: Re: My Introduction
Post by: Deep Toaster on November 12, 2010, 02:21:03 pm
Well, there's a list of all the commands in the appendix. Most of them aren't really useful, though.

Chapter 18 (I think, might be chapter 16 or 17) is all about the programming functions.
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 02:32:29 pm
Chapter 18 (I think, might be chapter 16 or 17) is all about the programming functions.

The Getting Started Guide I have doesn't even have chapters. I definitely must be missing the manual you are referring to. Do you have a Ti-83? Because it sounds like the Ti-84s did not get bundled with the manual. I guess I'll just have to use TIBD for command reference. It's a shame though, because I usually prefer reading physical material over digital for these types of things.
Title: Re: My Introduction
Post by: Deep Toaster on November 12, 2010, 02:42:32 pm
Chapter 18 (I think, might be chapter 16 or 17) is all about the programming functions.

The Getting Started Guide I have doesn't even have chapters. I definitely must be missing the manual you are referring to. Do you have a Ti-83? Because it sounds like the Ti-84s did not get bundled with the manual. I guess I'll just have to use TIBD for command reference. It's a shame though, because I usually prefer reading physical material over digital for these types of things.

That's too bad. There are some on-calc references too at ticalc.org (http://www.ticalc.org/).
Title: Re: My Introduction
Post by: squidgetx on November 12, 2010, 03:58:59 pm
Welcome to Omnimaga!

Chapter 18 (I think, might be chapter 16 or 17) is all about the programming functions.

The Getting Started Guide I have doesn't even have chapters. I definitely must be missing the manual you are referring to. Do you have a Ti-83? Because it sounds like the Ti-84s did not get bundled with the manual. I guess I'll just have to use TIBD for command reference. It's a shame though, because I usually prefer reading physical material over digital for these types of things.

The TI-84+'s do not come with the full manual, though the section in the back that lists commands helps a little. The full manual is on the CD that comes with your calc and explains how to use most of the commands in BASIC

My recommendation is to play around with BASIC first just to get to know your calc. :)
Title: Re: My Introduction
Post by: DJ Omnimaga on November 12, 2010, 04:19:24 pm
Heya and welcome here. I hope you have fun in your calculator programming experience. Feel free to ask questions in the help forums if you have any. :)

As for languages learning, I suggest trying to understand BASIC first, making sure to know the main commands before you switch to Axe. Later, you could try assembly, although that can be harder.

EDIT: Also when coding, do a lot of backups of your progress on a computer or in the calculator archive memory in case a crash occurs, so you don't lose everything.
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 05:51:26 pm
Thanks everyone for the help. I've come up with another question. I spent some time looking through TIBD to get an idea of what to expect, and it all seems pretty understandable. The only thing that seems to confuse me is graphics. I looked at some Ti-BASIC games, and it seems it's possible to use some type of sprite in a game, but I don't see any direct commands to do so. Instead there are mentions about text sprites and hard code sprites, which I don't really understand. Can anyone explain to me how sprites are displayed, moved, etc. in Ti-Basic? You don't have to give me a full step-by-step tutorial or anything, just a general idea of how its done.
Title: Re: My Introduction
Post by: Michael_Lee on November 12, 2010, 06:12:43 pm
Basic, sadly, doesn't come with built-in sprite support.  Therefore, to get sprites, people resort to tricks, like text-sprites.  I think they work by overlapping two or more characters on top of each other...
I never got the hang of sprites in Basic, either.
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 06:25:02 pm
Would it be possible to at least use regular text characters as sprites? Like say I made a space shooter game, could I use a greater than sign as a ship and a period as a bullet?
Title: Re: My Introduction
Post by: meishe91 on November 12, 2010, 06:28:58 pm
Text Sprites are actually offset graphscreen text that creates certain patterns. In a second I'll write what I really want to but just wanted to get that out real fast :)
Title: Re: My Introduction
Post by: ztrumpet on November 12, 2010, 06:51:03 pm
Would it be possible to at least use regular text characters as sprites? Like say I made a space shooter game, could I use a greater than sign as a ship and a period as a bullet?
I recommend starting with Homescreen Games, like these: http://ourl.ca/4491  Each one of those is between 200 and 500 bytes (small) and were programmed between 5 minutes and 6 hours (Falldown was Hard!).  Here you use the screen where you type math problems and such to display graphics with text.  Here's a nice program when dealing with symbols: http://ourl.ca/5906
Homescreen games can be very fun and are the graphics are controled with Disp, Output(, and ClrHome.  Good luck. :)

Oh, welcome to Omni by the way. ;D
Title: Re: My Introduction
Post by: meishe91 on November 12, 2010, 06:53:05 pm
First off, I would like to welcome you to Omnimaga. I really hope you enjoy your stay.

A lot of people have already covered a lot of stuff that you've asked but I'll add or something to it in someway :P

Firstly, it's fine that you're new to programming. We all were at some point so don't be afraid to ask questions when you are stuck or something. We would love to help you out. Also, as many people have said, TI-BASIC Developer (http://tibasicdev.wikidot.com/home) is probably one of the best places to learn TI-BASIC. It has very thorough explanations of all the commands, how they are used, optimization tricks and everything :) But since some things can be confusing over there too just ask us if you need :D I would also like to point you to my thread here (http://ourl.ca/4541/83770) that contains a list of all the tutorials, to my knowledge, on Omnimaga (I have a few very nice TI-BASIC ones that you might be interested in checking out :)) as well as a few other places that are not just for programming.

As people have said, I would suggest you start out with Pure TI-BASIC first since you're pretty new to programming. However this isn't always the case for everyone. If you understand pointers and other things then Axe is a good language to learn since it has the speed of Assembly but a syntax that is similar to TI-BASIC. Assembly should (I say should because some people may already know other Assembly languages before hand or something) be the last language you learn since you are basically programming one step away from pure binary (which is what the calculator reads in the end), I believe. So it can be quite difficult to learn. But there are good references to learning Assembly too, like our very own Hot_Dog (one of our Admins) has taken the time to write a tutorial about getting started into Assembly, which can be found here (http://ourl.ca/7749/136558). There is also a much older tutorial that is on ticalc.org that is called Learn TI-83 Plus Assembly in 28 Days, located here (http://www.ticalc.org/archives/files/fileinfo/268/26877.html), but that has been notorious for being a little difficult to follow sometimes, depending on the person. So I suggest Hot_Dog's :)

The shell thing has basically been covered now though. But basically what they are is a way of running Assembly made programs, though you can run TI-BASIC games as well, though a little overkill (unless you're using DoorsCS library commands which need it to run). There are a few different shells that are around. The only one that is still in development is DoorsCS 7 over at Cemetech by KermMartian, though you can find links in the thread here (http://ourl.ca/6807) on Omnimaga. (Note: Cemetech is another calculator community focused on TI calculators run by KermMartian.)

As has been mentioned, Pure TI-BASIC has no internal sprite support. So that leaves us to using tricks that we've learned to do them. I wrote a post about most of the different methods here (http://ourl.ca/7694/135082) so that might be something to check out too. There are also ways of achieving graphics with the use of Assembly libraries, which are basically Assembly routines that are used by TI-BASIC programmers to do things faster or make things look good. Probably the most well known Assembly library is xLib. When you introduce these into TI-BASIC programming it is called Hybrid TI-BASIC.

So, hopefully this has helped you some and, again, I hope you enjoy your stay here :)
Title: Re: My Introduction
Post by: MRide on November 12, 2010, 07:05:29 pm
Wow....a lot of posts in one day. :D
I also think you have the highest respect-to-post ratio. It's undefined. :P

So...yeah.  Welcome to Omnimaga!
Title: Re: My Introduction
Post by: meishe91 on November 12, 2010, 07:15:17 pm
Wow....a lot of posts in one day. :D
I also think you have the highest respect-to-post ratio. It's undefined. :P

So...yeah.  Welcome to Omnimaga!

Who do you think has the highest respect-to-post ratio?
Title: Re: My Introduction
Post by: MRide on November 12, 2010, 07:19:13 pm
Oh, Reptic.  He has no posts (outside of intro/randomness), and he has 1 respect.
Title: Re: My Introduction
Post by: meishe91 on November 12, 2010, 07:30:05 pm
Ah ok.
Title: Re: My Introduction
Post by: DJ Omnimaga on November 12, 2010, 08:16:42 pm
Lol yeah I noticed.
/me prods Reptic to post outsite Intro/randomness so he doesn't have 0 posts anymore. ;D (and can start editing his profile)
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 08:34:15 pm
@meishe91, thanks for all the advice. I have this thread bookmarked so I can come back to remember all the information you guys are giving me :D. I haven't posted outside this thread because I thought it might be more efficient to ask all my intro questions here, but I'll take your advice DJ Omnimaga and post in some other places so I can gain access to the basic features :P. I just have one more question that I might as well ask here, it's directed toward ztrumpet: I like your suggestion about the homescreen games using text sprites, however I can't figure out how you entered some of those symbols into the calculator. I suppose it might have something to do with the program you linked, which I downloaded, but I don't really know how to use it. Could you explain the process of entering a symbol, like the omega one you used for Falldown, into the calculator?
Title: Re: My Introduction
Post by: ztrumpet on November 12, 2010, 08:41:20 pm
Okay.  Meishe's program stores the characters to Str1, so in order to use those tokens you must first press [2nd] [Sto>] [Vars] [7] [1] [Enter].  Next find the character you want and delete all the others.  I normally do this by putting it on its own line and then pressing clear on the lines of useless tokens. :) It's pretty simple, but I whipped up a screenie anyway. ;D

Good luck. :D
Title: Re: My Introduction
Post by: TIfanx1999 on November 12, 2010, 08:53:06 pm
Hey welcome here Reptic! Others have already given you great advice so I'll just add that another good method of learning is looking at other people's programs and seeing how they did things. www.ticalc.org (http://www.ticalc.org) has a massive archive of games and is a great place to look. Oh, and don't be afraid to ask questions. Everyone is very nice and helpful here. =)
Title: Re: My Introduction
Post by: meishe91 on November 12, 2010, 09:22:58 pm
Okay.  Meishe's program stores the characters to Str1, so in order to use those tokens you must first press [2nd] [Sto>] [Vars] [7] [1] [Enter].  Next find the character you want and delete all the others.  I normally do this by putting it on its own line and then pressing clear on the lines of useless tokens. :) It's pretty simple, but I whipped up a screenie anyway. ;D

Good luck. :D

If you want you can also go into the program and delete the →Str1 and then all you have to do then is run the program then, as long as you don't do anything that will store something to Ans, just push [2ND][STO>][2ND][(-)] (that's the negative sign) and recall the Ans variable.
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 10:32:51 pm
Okay.  Meishe's program stores the characters to Str1, so in order to use those tokens you must first press [2nd] [Sto>] [Vars] [7] [1] [Enter].  Next find the character you want and delete all the others.  I normally do this by putting it on its own line and then pressing clear on the lines of useless tokens. :) It's pretty simple, but I whipped up a screenie anyway. ;D

Good luck. :D

If you want you can also go into the program and delete the →Str1 and then all you have to do then is run the program then, as long as you don't do anything that will store something to Ans, just push [2ND][STO>][2ND][(-)] (that's the negative sign) and recall the Ans variable.

Ok. I get it now :) Thanks for the answers. You guys are all really great - I don't think I've ever received this many responses to my first thread on any other forum ;D Well, I'm off to go attempt to program a game now. You'll probably see a new thread by me soon, as I'll be sure to ask for help if I run into any trouble. And if I manage to complete some form of small game without any problems, Omnimaga will be the first place I share it. Thanks again everyone :)
Title: Re: My Introduction
Post by: yunhua98 on November 12, 2010, 10:39:45 pm
Welcome here!
I can't believe I didn't reply to an intro topic until the 4th page!  :o  I'm usually one of the first.  :P
Title: Re: My Introduction
Post by: AngelFish on November 12, 2010, 10:48:43 pm
Thanks everyone for the help. I've come up with another question. I spent some time looking through TIBD to get an idea of what to expect, and it all seems pretty understandable. The only thing that seems to confuse me is graphics. I looked at some Ti-BASIC games, and it seems it's possible to use some type of sprite in a game, but I don't see any direct commands to do so. Instead there are mentions about text sprites and hard code sprites, which I don't really understand. Can anyone explain to me how sprites are displayed, moved, etc. in Ti-Basic? You don't have to give me a full step-by-step tutorial or anything, just a general idea of how its done.

Sprites, in the normal computer sense of the word are almost impossible to do well in TI basic. You generally have to use an Assembly library, which can get tricky.

However, text sprites are very easy in pure BASIC. If you're using the graphscreen (which I would recommend for almost all games), then you can use the Text(Y,X,"String command to display text characters. To move them around, simply change the X and Y variables. On the homescreen, you can do the same thing with the Output( command.
Title: Re: My Introduction
Post by: yunhua98 on November 12, 2010, 11:09:03 pm
Thanks everyone for the help. I've come up with another question. I spent some time looking through TIBD to get an idea of what to expect, and it all seems pretty understandable. The only thing that seems to confuse me is graphics. I looked at some Ti-BASIC games, and it seems it's possible to use some type of sprite in a game, but I don't see any direct commands to do so. Instead there are mentions about text sprites and hard code sprites, which I don't really understand. Can anyone explain to me how sprites are displayed, moved, etc. in Ti-Basic? You don't have to give me a full step-by-step tutorial or anything, just a general idea of how its done.

Hard-code sprites:

Don't use these unless you just can't figure out how to make it with text sprites.

its basically using pxl-on and all the coordinates to make a pic:
Code: [Select]
:ClrDraw
:AxesOff:FnOff
:Pxl-on(0,0
:Pxl-on(1,1
:Pxl-on(2,2
:Pxl-on(3,3
:Pxl-on(4,4
:Pxl-on(0,4
:Pxl-on(4,0
that code makes a 5x5 "x"
as you can see, that isn't memory efficient at all.  :P

Text Sprites:
These use the first row of pixels in a character as part of the sprite.  So if you wanted a 5x5 lobster:
the 1s are black, and the 0s are white.   ;)
Code: [Select]
11000
00101
01111
00101
11000
you would find a character that when put on the graphscreen, has a first column of pixels that look like this:
Code: [Select]
1
0
0
0
1
which would be an "I"
that looks like this:
Code: [Select]
11100
01000
01000
01000
11100
see the similarties in the first column?  ;)

similarly, the next character would have the first column identical to the second column of the lobster sprite, so it would be a "≥", and so on.  to display this sprite:
Code: [Select]
:ClrDraw
:"I≥C-C[][]->Str1  \\replace the "[]"s with a space and a "->" with the STO key.
:For(A,0,6
:Text(R,C+A,sub(Str1,A+1,1
:End
R and C are where you the coordinates of your sprite: (Row and Column)
this works because each time A is incremented by 1 and add that to C, the first column's of each character keep moving to the left, clearing everything in the previous character but the first column.  and then the two spaces at the end clear the last character's extra columns.

Hope that helped.  ;)

(so I didn't waste all that time.  :P)  ...jk
Title: Re: My Introduction
Post by: Reptic on November 12, 2010, 11:31:39 pm
Wow, thanks for typing all that yunhua98 :) Don't worry, it didn't waste your time because I actually understand text sprites now. Well, at least creating them that is; I still have to figure out how to put them to practice (collision detection, maps, etc.)
Title: Re: My Introduction
Post by: yunhua98 on November 12, 2010, 11:37:59 pm
you are very welcome.  Omnimaga is the site where members help other members.  ;)
Title: Re: My Introduction
Post by: AngelFish on November 13, 2010, 12:01:37 am
Wow, thanks for typing all that yunhua98 :) Don't worry, it didn't waste your time because I actually understand text sprites now. Well, at least creating them that is; I still have to figure out how to put them to practice (collision detection, maps, etc.)

Collisions are often one of the hardest parts of games :P
Title: Re: My Introduction
Post by: meishe91 on November 13, 2010, 12:03:44 am
Wow, thanks for typing all that yunhua98 :) Don't worry, it didn't waste your time because I actually understand text sprites now. Well, at least creating them that is; I still have to figure out how to put them to practice (collision detection, maps, etc.)

Collisions are often one of the hardest parts of games :P

*cough*Battle Engines*cough* ;)
Title: Re: My Introduction
Post by: AngelFish on November 13, 2010, 12:08:55 am
I've never done a battle engine. But collision detection is definitely up there.
Title: Re: My Introduction
Post by: Builderboy on November 13, 2010, 01:21:15 am
Welcome here Reptic!  Its nice to see you so motivated towards learning new languages :) Omnimaga is a great place to ask questions, and I hope you can continue to learn new things and work towards your goal :)