Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - meishe91

Pages: 1 [2] 3 4 5
16
Axe / Extra Variables?
« on: October 03, 2010, 05:31:43 am »
So I'm fairly sure this hasn't been asked, or at least I haven't seen it and couldn't find an answer anywhere. But my question is: Are you able to access the extra variables that the calculator has? Like the extended pictures and such. I would think you could but I don't know much about Axe so thought I'd ask. It just randomly popped into my head.

If this has been asked somewhere, sorry :(

17
TI-BASIC / Sprite Compression
« on: October 02, 2010, 08:31:21 pm »
So recently MRide asked for sprites for his Imagination Quest game and I helped with a way of storing them/recalling them. This got me thinking about different ways of doing this. So I thought I would show you guys what I have come up with, but if you guys have any other ways please feel free to share your methods/routines.

Note: My routines are listed according to speed, fastest to slowest (decompression), and by chance size (compressed variable) too, largest to smallest. These also should be as optimized as they can be but I'm sure someone (*cough*nemo*cough* :P) could find something I missed. Also, last thing, all "Es" and "Ls" are the scientific notation E and list token L.

Code: (List Compression 1; 124 bytes with name "LC1") [Select]
1→D
For(A,Y,Y+H-1
For(B,X,X+W-1
If pxl-Test(A,B
Then
BE6+AE4→K
Repeat not(pxl-Test(A,B
B+1→B
End
AnsE2-E2+A
If K=AnsE4
Then
Ans+.1→LP(D
Else
K+Ans→LP(D
End
D+1→D
End
End
End

Code: (List Compression 1 Decompression; 99 bytes with name "LC1D") [Select]
For(A,1,dim(LP
LP(A
If fPart(Ans
Then
.01iPart(Ans
Pxl-On(E2fPart(Ans),iPart(Ans
Else
Line(iPart(E2fPart(Ans/E8)),-iPart(E2fPart(Ans/E6)),iPart(E2fPart(Ans/E4)),-iPart(E2fPart(Ans/E2
End
End

Code: (List Compression 2; 98 bytes with name "LC2") [Select]
1→D
For(A,Y,Y+H-1
For(B,X,X+W-1
If pxl-Test(A,B
Then
BE6+AE4→K
Repeat not(pxl-Test(A,B
B+1→B
End
K+BE2-E2+A→LQ(D
D+1→D
End
End
End

Code: (List Compression 2 Decompression; 73 bytes with name "LC2D") [Select]
For(A,1,dim(LQ
LQ(A
Line(iPart(E2fPart(Ans/E8)),-iPart(E2fPart(Ans/E6)),iPart(E2fPart(Ans/E4)),-iPart(E2fPart(Ans/E2
End

Code: (String Compression 2; 193 bytes with name "SC2") [Select]
"_Str3
{0,1→L1
For(A,Y,Y+H-1
For(B,X,X+W-1
If pxl-Test(A,B
Then
BE6+AE4→K
Repeat not(pxl-Test(A,B
B+1→B
End
{0,K+BE2-E2+A→L
LineReg(ax+b) Y1
Equ►String(Y1,Str4
sub(Str4,1,length(Str4)-3→Str4
If 7=length(Str4
Str3+"0→Str3
If 6=length(Str4
Str3+"00→Str3
Str3+Str4→Str3
End
End
End
sub(Ans,2,length(Ans)-1→Str3

Code: (String Compression 2 Decompression; 86 bytes with name "SC2D") [Select]
For(A,1,length(Str3
expr(sub(Str3,A,8
Line(iPart(E2fPart(Ans/E8)),-iPart(E2fPart(Ans/E6)),iPart(E2fPart(Ans/E4)),-iPart(E2fPart(Ans/E2
A+7→A
End

Code: (String Compression 1; 239 bytes with name "SC1") [Select]
{0,1→L1
"_→Str1
For(A,Y,Y+H-1
For(B,X,X+W-1
If pxl-Test(A,b
Then
BE6+AE4→K
Repeat not(pxl-Test(A,B
B+1→B
End
BE2-E2+A→L
If K=AnsE4
Then
Str1+"+→Str1
Else
Str1+"-→Str1
End
{0,K(K≠LE4)+L→L2
LinReg(ax+b) Y1
Equ►String(Y1,Str2
sub(Str2,1,length(Str2)-3→Str2
If 2=length(Ans
Str1+"00→Str1
If max(length(Str2)={3,7
Str1+"0→Str1
Str1+Str2→Str1
End
End
End
sub(Ans,2,length(Ans)-1→Str1

Code: (String Compression 1; 141 bytes with name "SC1D") [Select]
"expr(sub(Str1,A+1,Ans→u
For(A,1,length(Str1
If sub(Str1,A,1)="+
Then
4
.01u
Pxl-On(E2fPart(Ans),iPart(Ans
A+4→A
Else
8
u
Line(iPart(E2fPart(Ans/E8)),-iPart(E2fPart(Ans/E6)),iPart(E2fPart(Ans/E4)),-iPart(E2fPart(Ans/E2
A+8→A
End
End

Note:
The way to use the compression routines is to do Width→W:Height→H:Upper-Left X-Coordinate→X:Upper-Left Y-Coordinate→Y:prgmRoutine or something like that. The decompression routines can just be run (assuming you've compressed already).

Like I said, this is open for other people to show their own routines for compressing/decompressing and sprite. I hope someone finds these useful :)

18
TI Z80 / Meishe91's Tunnel
« on: September 21, 2010, 04:03:58 am »
This isn't anything to spectacular or anything, just thought it might be a cool little thing to make real quick. To see what I could come up with and how small I could make it on a "just go with it" type of thing. I think it turned out pretty well. But like I said, it's nothing special. Just another homescreen tunnel game.

Object of the game is pretty simple: don't hit the walls. As you progress the walls continually get closer together. Shouldn't be any bugs that I know of. Only thing is that don't try to go off screen before you reach the tunnel :P I have no edge code built in since it really isn't needed (I don't think you can reach the edge anyways). Um, ya. Think that's about it. Score is at the bottom. Have fun and enjoy :) Tell me what ya think.

Oh ya, it's only 304 bytes. Tried to keep it under 300 but failed to do so. I optimized it the best I could but if anyone sees any, if you go looking through the code, let me know and I'll change it :)




Note:
Just noticed that in the screenshots you can see the score on the seventh line just barely. On a calculator you can't see it, or very barely can.

19
TI-BASIC / Tunnel Troubles
« on: September 21, 2010, 02:05:51 am »
Yesterday, my time anyways, I got bored so I started working on a Tunnel game. I have an idea for how I'm going to do this all and everything but I can't get it to detect the edges correctly. I'm either detecting the row that hasn't been created yet or one row to far ahead. I can't figure out what I'm doing and I've been messing with this thing for like two hours just trying to get this to detect right.

Code: (Tunnel) [Select]
"**************→Str1 \\14 Asterisks
DelVar L116→dim(L1
6→S
5→A
8→X
10→W
1→L
For(F,0,6
Disp " \\Just a quote, no space.
End
Repeat 0
getKey→K
X+sum(⌂List(K={24,26→X
Disp sub(Str1,1,A)+sub("______",1,S)+sub(Str1,1,W-A \\6 Spaces
min(W-1,max(1,A+randInt(-1,1→A
A→L1(L
17-W+A→L1(L+1
Output(1,X,"V
If X=L1(L+2-14(L=13)) or X=L1(L+3-14(L=13
Stop
L+2
Ans-14(Ans=15→L
Pause \\This is just here to help testing/debugging.
End

This is not completed or optimized nor has all the things I want it to do. I just can't figure out what I'm doing wrong :(

So far I've tried modifying that check line to:

If X=L1(L+2-14(L=13)) or X=L1(L+3-14(L=13
If X=L1(L) or X=L1(L+1
If X=L1(L-2+14(L=1)) or X=L1(L-1+14(L=1

All to no avail. I thought that would check all the spots that it would be though because one would test one place ahead, one would test the uncreated line, and one tests some other line (either the last line created or two lines ahead, depending on the placement).

Anybody see where I am going wrong?

Thanks in advance.

Edit:
By the way, sorry that I keep coming to you guys lately to help me debug a few things.

Edit:
I think I might have just figured out what my problem was, and I feel like an idiot for not figuring it out sooner.

Edit:
Woo! Figured it out! Thanks anyone who tried to solve this mystery! Sorry for wasting your time though :(

20
TI-BASIC / Can't Figure Out Why This Doesn't Work :(
« on: September 18, 2010, 03:25:16 am »
I have been going over this code for like an hour and I can't figure out why it doesn't work properly :( I feel like the problem is something really dumb and simple but can't figure out what the issue is. To me it looks like it should work...but doesn't. Anywho, I'm rambling now...on to the code:

Code: [Select]
Prompt H,W,M
0→A
DelVar [A]
{H,W}→dim([A])
Repeat A=M-1
randInt(1,W)→X
randInt(1,H)→I
If [A](I,X)≠9
Then
For(Y,I-(I>1),I+(I<H)
For(Z,X-(X>1),X+(X<W)
If [A](Y,Z)=9 or IX=YZ \\I've tried all three Boolean Operations.
Then
9→[A](Y,Z)
Else
[A](Y,Z)+1→[A](Y,Z)
End
End
End
A+1→A
End
End

I realize it isn't optimized. I just am trying to get it working first.

I've tried almost everything I can think of but can't seem to track where the issue is :( Thanks everyone :)

Edit:
Guess it might help if I tell you actually what it is supposed to do :P

It is supposed to make a matrix that has nines as a center point with numbers surrounding it with no number value going above nine. Also, the number that surround the nines should equal the number of nines it is touching. *coughcough*

21
TI-BASIC / Checking/Accessing Eight Points Around One Point
« on: September 17, 2010, 04:03:28 am »
I'm not to sure if the title really says what I mean. But what I'm looking for is a good way to access or check or just be able to do something to the spots surrounding a single spot. But also, now that I think about the situation, I just need a way to get access the points surrounding a point. Whether eight, five, or three (I think those are all the options...).

Code: [Select]
123
4█5
678

█1
12

12
█3
45

Those are the points I mean. I have one method that in theory would work, haven't tested it yet, but it only works for checking all eight points. Which might work for the situation but if someone knows a better way I'd like to hear it :)

Thanks for any help.

22
Miscellaneous / Omnimaga Forum Usage/Traditions/Mentality Explanation
« on: September 16, 2010, 01:12:41 am »
So since I've been here at Omni I've seen a lot of differences in the way people post that sometimes can confuse people, just don't look uniform, or something along those lines. So I thought I would take the time to see if I can maybe help solve some issues like that by showing good ways to post certain things and make things less confusing and such for people.

Note:
What I'm writing is what makes sense to me. If people would like to contribute things or something, by all means do. It'll help.



BBCode:
BBCode is what normal members can use to manipulate their text/post look nice and fancy. Now since I'm not a staff member, or at least someone who has access to a list of Omnimaga's BBCode commands, I do not know them all and such.


[code]*insert stuff here*[/code]: This encases your type in a code box. The code box, to my knowledge, is always mono-spaced regardless of your browser. (This means each character takes the same amount of space as any other.) While using a the [code][/code] commands you can not use any other BBCode inside.


Example:
Code: [Select]
ClrHome
For(A,1,8
For(B,1,16
Output(A,B,A
End
End


Note:
If you do [code=*insert a name here*][/code] then you will give your code box a name, making it easy to differentiate between certain sets of code.

[nobbc]*insert stuff here*[/nobbc]: This is a lesser known BBCode command. What it does is completely cancel out the effects of any BBCode trapped within it AS LONG as you end it with [/nobbc], otherwise it is useless. For an example of this, just look at this page :P


[sup]*insert stuff here*[/sup]: This turns what ever is trapped within into a superscript. For those who don't know what a superscript is, it is basically what an exponent is. So basically the little characters that are up in the line.


Example:
X3+X2-X+1 and X(X-1)X+2


[sub]*insert stuff here*[/sub]: This turns what ever is trapped within into a subscript. This is basically the exact opposite of a superscript. So instead of going up, it is down below.


Example:
logb(X+1) or H2O


[img]http://*insert image URL here*[/img]: This allows you to insert an image into your post. You can edit the height and width of the image but I can never remember how to do it. If someone could tell me I will add it in. This also works with moving .gif files.


Example:



[size=*insert font size*pt]*insert stuff here*[/size]: This command edits the size of the font within. The default forum size is ten.

Note:
There IS a difference between, for example, [size=3][/size] and [size=3pt][/size]. So remember to put "pt" at the end!


Example:
LSAVE and 3E3


[tt]*insert stuff here*[/tt]: This creates a "mono-spaced" type faced font that can be used without having a code box made. I say "mono-spaced" because it depends on the browser.


Example:
Output(A,B,"HELLO WORLD!")

[spoiler]*stuff here*[/spoiler] or [spoiler=Custom Description Here]*stuff here*[/spoiler]  This is used to hide part of the post, either to make someone not initially see it, or to avoid taking up a large section of the page.  For an Example, look at the youtube videos below.

Note: Please do not put [code][/code] inside of these, the do not display correctly inside of Google Chrome.


[youtube]*insert YouTube video URL*[/youtube]: This simply pulls a YouTube video and puts it in your post.


Spoiler For Example:



[me=*insert name here*]*insert action here*[/me]: This is basically just a simple way to do an action that makes everyone who uses it the same in style.


Example:
* Meishe91 hits the reader with a fish.

Note:
Thanks to Deep Thought a shortcut has been pointed out for this one. If you just type /me (yes, that exactly, no need for your username or anything) and then put a space after and start typing your message it will stay within the colored text as long as you don't break the line (press enter). If you do it will just automatically stop the BBCode command and continue with normal text.


[font=*insert font face/font name here*]*insert stuff here*[/font]: This just changes the font face of the text within. By default the forum is set to Verdana.


Example:
Hello

Note:
I have absolutely no clue what fonts are supported by the forum. I took a shot with Times New Roman and it worked.


[url=http://*insert URL here*]*insert stuff here*[/url]: This basically makes a hyperlinked word/phrase. When this is parsed anything trapped will become a hyperlink to the site that you put after the equal sign.


Example:
Winner, Winner, Chicken Dinner!


[quote]*insert stuff here*[/quote]: This is used to insert a quotation box into your post. This can be used to quote books, papers, websites, or anything else. Omnimaga, along with most other forums (I believe), have a quote button where you can easily quote other peoples posts.

Example:
Quote
This is a quote!

Note:
Like with the code box BBCode, if you put [quote=*insert name of quote here*]*insert stuff here*[/quote] it will give the quote box a name.


[abbr=*insert the explained abbreviation*]*insert abbreviation*[/abbr] and [acronym=*insert the explained acronym*]*insert acronym*[/acronym]: Although there is a difference between a abbreviation and an acronym, these two do the essentially the exact same thing. When you hover above a acronym or abbreviation that has this applied to it that acronym/abbreviation will show whatever you typed after the equal sign.


Example:
Ex. and LOL


[hr]: This puts a horizontal line across the post. For an example look at what separates everything in this post.




Alt Characters:
So here on the forum we focus on programming and such. So on the calculator there are certain characters that you see on there but may not be on your common keyboard or something. To help with this I have found a way that will display these characters. They are called Alt Characters. They can be very helpful and useful. However, though I've never heard of this happening, some browsers may not recognize them correctly or at all.

Note:
These are for Windows users, as far as I know. I do not know if you can access them the same way on other operating systems.

How you access these characters is that you hold down the Alt key and push the numbers in on the number pad, I do not know how to get them to work on the numbers line.

Alt+8: ◘
Alt+16: ►
Alt+26: →
Alt+127: ⌂ (Delta)
Alt+167: º (Degrees Symbol)
Alt+219: █ (I use this for showing pixel examples.)
Alt+227: π (Pi)
Alt+228: Σ (Uppercase Sigma)
Alt+229: σ (Lowercase Sigma)
Alt+233: Θ (Theta)
Alt+241: ± (Plus-Minus)
Alt+242: ≥ (Greater-Than-Or-Equal-To)
Alt+243: ≤ (Less-Than-Or-Equal-To)
Alt+251: √ (Square Root)
Alt+0215: × (Multiplication "X") (Note: Yes, you need that zero out front.)

These are just common ones that I use or that I find will be useful. A good resource can be found here.



Special Characters:
Some characters can't even be accessed using Alt-Codes, such as the not-equal-to character. A good ways to get some of these are by using something like SourceCoder (created by our very own Kerm Martian).

≠ (Not-Equal-To)

º (Degree Symbol)
□ (Square Plot Point Symbol)
∙ (Dot Plot Point Symbol)

Note:
This goes for both the Alt-Codes and this section. Raylin has a good resource of characters in his signature.



So by using a combination of these features you can create some good effects that can be useful. Here is where I will be posting ones that I have come across and found useful. I will also put a common way that is used around to that doesn't use BBCode or anything.

Note:
What I like to do when typing commands in, outside of a code box, is to put them in [tt][/tt]. It just makes them stick out a little and such.

For those of you who are from/visit United-TI (UTI) and have ever seen Weregoose post code you know what his infamous font looks like. If you would like to use that here the correct BBCode is [font=courier new][size=2][color=darkblue]*insert stuff here*[/font]. Yes, this is one of those weird places where you don't need "pt" after the size number. You also only have to end with [/font].

TI-BASIC Commands:
r: [sup]r[/sup] ; ^r
T: [sup]T[/sup] ; ^T (Note: Be careful when using this because it can look like your saying to raise the power to the variable "T.")
N: [b]N[/b] (Note: This is the Finance variable N.)
E#: [size=7pt]E[/size] ; E# (Note: 7pt font is just what I found to work well, feel free to xperiment though if you'd like. This is also the scientific notation E. With the no BBCode option, be careful because it can look like you're just doing implied multiplication.)
L...: [size=7pt]L[/size] ; L... (Note: This is the little L for starting a list name. Again, be careful because it can look like implied multiplication again.)
i: [font=time new roman][i]i[/font] ; i ; i (Note: This is the imaginary number i.)
→: Alt+ 26 ; ->
≠: From SourceCoder ; !=

Axe Commands:
rr: [sup]rr[/sup] ; ^rr

Note:
When you are inside of a code box you CANNOT use BBCode so you will have to use the versions without BBCode. Alt Characters and such DO work though. When you are not a code box you can use any combination though it is encouraged to use BBCode since it will look better.



Acronyms:
Here on the internet there are a lot of acronyms floating around. Some that are very common, like "lol," and others that are less common. Here I will have a list of acronyms that I see appear and what they mean.

lol: Laugh Out Loud
rofl/rotfl: Rolling On (The) Floor Laughing
IMO: In My Opinion
IMHO: In My Honest Opinion / In My Humble Opinion
IIRC: If I Remember Correctly
AFAIK: As Far As I Know
0x5: KermMartian's recommended everyone to use this on Cemetech when he got tired of "lol" appearing everywhere. The idea is that lol == 101 == 0b101 (101 in binary, which is 5) == 0x5.

Note:
This is one section that I will really need help with because there are a lot that I don't know, that I don't remember, or a combination.



General Tips:
These are little tidbits that might just help a little.

-As stated before, inside code boxes BBCode does not work inside of them. However, you can still use Alt Characters and such inside of them.

-When you are showing spaces in something like a string it is suggested to use an underscore ("_"). If you have multiple then just put in parentheses how many are being used. If you are in a code box then use a comment, which I will talk about next.

-A code box can get quite full and confusing when you have a lot of code or are commenting it. When you comment code I have found it useful to only space out a couple of spaces and then put either a semicolon (";"), forward slash ("\"), or a period (".") because two of these are not commonly accessible by the calculator and the period is just a good comment starter (it is also used in Axe as a comment starter).

-There a couple of courtesy things that should be applied, but aren't mandatory. There are people on this forum who use Google Chrome and Internet Explorer and other web browsers that don't run .GIF files at the correct speed. So please if you make a screenshot from Wabbit please set your frame-rate to something close to nine. It runs much faster in those browsers while still looking good in the ones like FireFox. Also, as mentioned up above in the BBCode section, if you put a [code][/code] inside of [spoiler][/spoiler it is really hard to see because they clash, so please avoid doing that.



Memes:
Memes are basically like inside jokes or slang or a bunch of different things that people start to do. They can be local, like our peanut one, or international. Don't overuse them, though, especially that most are old and not considered as fun anymore, not to mention it would be spam. I will have a section for those memes so people will have a place to look if they wanna know what they are.

It's Over 9000! (>9000)

Rick Rolling

The Game

I accidentally *

AYBABTU


Peanuts:
Spoiler For Peanut Bag:
!peanuts
This is a meme that originated in early 2006 on the original Invisionfree Omnimaga board.  One day, Spellshaper welcomed a new forum member, adding "Don't forget to grab peanuts at the entrance!" and it started to spread in almost every introduction topic. A few months later, a peanut image was added as a smiley on the forums, but was quickly replaced with a photoshopped peanut bag image found on Google at the time, replacing the original brand with the Omnimaga logo. Afterward, people posted this image in every introduction threads, as a welcome "gift" to new members. It became so popular that in 2007 it even spread on United-TI for a while and even after Omnimaga 2008 demise, it still was as popular on the new Omnimaga board as it was on the old one. After the new board started, however, a Rick Astley Limited Edition version of the bag was made and sometimes used instead of the old one (and thanks to yunhua98, this started a new meme for "interactive peanuts"). Two years later, one saying "The Game" on it was made as well, which resulted in a dozen of variations of the original bag afterward. We've even made a !peanut command to use in the forums to automatically generate the peanut bag image.

Netham45 is a lobster:
In 2009, someone posted a random survey in the miscellaneous section of the Omnimaga forums asking if they would eat humans. After the option Yes and No, a 3rd option saying "Netham45 is a lobster" was added. For absolutely no apparent reason whatsover, this started to spread on IRC and most people started refering to Netham45 as a blue lobster as a joke. We do not know any reason why this meme started at all, let alone the blue color, which is ironic considering his forum nickname is pink.

SquirrelioJazz:
A variation of the lobster meme that started during Fall 2009 with CoolioJazz, but lost its popularity after this member became less active for a while. Sometimes he would be refered to as SquirrelioJazz or Squirrelio. We have no clue how this one started, but shortly before it did, somebody posted a link to an image modified by Squirrelizer. We do not know if the squirrelizer have any link with the SquirrelioJazz meme.

Note:
If there are any others let me know.



Post Count Level:
The Omnimaga Staff thought it would be cool to have something slightly similar to RPG systems, so each forum member is ranked by a level from 0 to 10. Those are simply post count rank groups and here they are below. First, the LV, secondly, the title, third, the required post count and finally, if applicable, the special privilege you earn with this user group:

LV0 - Newcomer - 0 posts - Initial group. Can post on the forums. At 1 post, you can edit your personal profile info such as website links and signature (spambot protection)
LV1 - Newcomer - 5 posts - Can send private messages to other members
LV2 - Member - 20 posts - Can use OmnomIRC
LV3 - Member - 50 posts - Can use the arcade
LV4 - Regular - 100 posts - Can upload files to the TI game/tools download section with manager approval
LV5 - Advanced - 200 posts
LV6 - Super Member - 300 posts
LV7 - Elite - 500 posts
LV8 - Addict - 700 posts
LV9 - Veteran - 1000 posts - Can add custom title below your nickname (staff can do so at any level)
LV10 - Super Veteran - 2000 posts

It's also worth noting that the Randomness and Intro section doesn't increase your post counts.



So hopefully this really helps some people.

If any of you have anything useful to add or anything please, PLEASE, leave a comment and I can add it in. I want this to be a good resource for people new/old to the forum.



Other information about Omnimaga and SMF can be found here:

-Board help files
-SMF Wiki
-Board rules

23
General Calculator Help / Buffer Shifting?
« on: September 14, 2010, 08:02:55 pm »
Ok, so I have no idea where this really belongs since I don't know if it is Axe doing it, just from assembly, or something else. But this has been bugging me for a bit and just haven't gotten around to asking until right now.

For the sake of this I'm just gonna suggest using the little program nemo wrote here since I know it happens with it.

But when you run that program up to seven times in a row (without clearing the screen) until it looks like it shifts tiles upwards or part of them or something. It's odd but I just wasn't sure what was happening or if I'm the only one this happens to or what. If you want a screenshot of what I mean I can make one.

Thanks anyone who can help.

24
TI-BASIC / Word Encoding/Decoding
« on: September 08, 2010, 10:17:04 pm »
Ok, so since I will be including a custom name for your character in the game I'm creating I decided I needed to come up with a way of converting words to a list so they could be stored without the worry of someone changing a string variable. But the only bad part about doing this is that normally you are limited to a seven character limit since normally each letter is two numbers and the calculator only can hold numbers of 14 numbers in length (and then it starts rounding and such, I believe; I just know 14 is the limit :P). So I did some looking around on here and found one topic, I think, that Raylin started that is about this but I wanted to create my own method for this (Raylin's topic is here).

Now, the code:

Note:
When ever you see "LW" the the code below it is really LW. Same with L2 and L1, but those are pretty well known now. Also, when you see "10^(" it is the actual token that you get when you press [2ND] then [LOG].

Code: (Encode) [Select]
DelVar LWDelVar LW15?dim(L2
DelVarB1?C
Input Str1
iPart((length(Str1)-1)/7+1?dim(LW
For(A,1,length(Str1
10^(B)inString("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz?0123456789",sub(Str1,A,1?L2(B+1
B+2?B
If B=14
Then
sum(L2?LW(C+1
C+1?C
DelVar BDelVar L215?dim(L2
End
End
C?LW(1
sum(L2?LW(C+1

Essentially what this is doing is that it makes a series of numbers based on where they are in the string. When the number gets up to fourteen numbers in length it increases the C variable by one and starts a new number to place in the next element, creating two numbers. Then C is stored to the first element to tell the decoder how many elements the word is.

Now the decoder's code:

Note:
When you see "E2" in the source code that is the scientific notation E.

Code: (Decode) [Select]
"_
For(A,1,LW(1
For(B,2,int(log(LW(A+1)))+2,2
Ans+sub("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz?0123456789",iPart(E2fPart(LW(A+1)10^(-B))),1
End
End
sub(Ans,2,length(Ans)-1?Str1

The thing I like about mine is that, one, the size of the program is basically dependent on what is in that string in the sub( command, two, it is pretty fast if I do say so myself (both the decoder and encoder; obviously though it takes longer with a bigger word) and, three, it is basically all self-working as long as you have the sub( string the way you want. No further math or anything needed (the strings just need to match).

I wouldn't doubt if there are a couple optimizations that could be made to those by the way.

Note:
There are only two downsides to this method. The first is that it is restricted to the 999 elements of a list. I don't forsee this being a huge issue though since you'd need a really long string to do that. (I think it's about 142 tokens but I'm not sure.) The other downside is that the strings that need to match must be under a hundred tokens long. This is because it uses only two numbers to store a token.

25
Art / Which Looks More Water Like?
« on: September 02, 2010, 07:18:40 pm »
Basically what the question asks. I'm wonder which picture contains the sprite that looks most like water :)

Option Old:


Code: [Select]
█__
_█_
█__
_█_
__█

Option New:


Code: [Select]
█_█
██_
_██
██_
_██

Thanks for anyone's input :)

26
TI Z80 / Text Sprite Maker
« on: September 01, 2010, 12:52:04 am »
So I said I was thinking about making a text sprite maker so I did. It virtually holds all the same features as my Sprite Maker but the rotation has been taken out. This will give let you create any X*5 text sprite and will output the correct characters. I could have included an option for X*6 sprites but it would have just increased the size and there aren't a whole lot of tokens that use the sixth row anyways so I figured it would be pointless. If any of you can think of any features that you would like implemented please let me know and I'll see what I can do.

Features for this program include:
-Gray cursor.
-Cursor wrap around.
-Invert the sprite.
-Clear the sprite.
-Flip the sprite horizontally or vertically.
-Single row or column filling or deleting.
-Single row or column inverting.
-Supports sprites from one pixel in size to a size of fifty-six pixels.
-Sprites of any length. (Well from one to ninety-five pixels.)
-Gives you the outputs for size (mine are all one byte tokens except when it has to be a two byte token) and the classic combination (the list TI|BD gives here).

Arrows - Move the cursor around.
[2ND] - Turns the current pixel on or off.
[X,T,?,n] - Flips the sprite horizontally.
[STAT] - Flips the sprite vertically.
[ALPHA] - Inverts the sprite.
[MATH] - Inverts the current column.
[X-1] - Inverts the current row.
[APPS] - Turns the whole row on.
[SIN] - Turns the whole row off.
[PRGM] - Turns the whole column on.
[COS] - Turns the whole column off.

Note:
WARNING! If any sprite contains the following column IT WILL NOT EXIST.

Code: (Column That Does Not Exist) [Select]
_1
1
2?
3
4?
5?

Unfortunately no token contains this as it's left side so no sprite with it will be created until TI creates one.

27
TI-BASIC / Run-Length Encoding for Strings
« on: August 25, 2010, 04:47:33 am »
So before I do anything more on my recent project I told myself I would work on making the moving engine, map display, and that stuff as good as I could before I continued on. So I decided to mess with RLE compression and came up with a program to compress a string. Just decided that I would share it with you guys for learning purposes or if someone wants to use it or something. (Compressed mine by about 800 bytes.)

Code: (RLE Compression) [Select]
"_?Str2
Str1+Ans?Str1
{0,1?L1
DelVar BDelVar A"sub(Str1,B+1,1?u
Repeat u="_
Repeat u?sub(Str1,B+A+1,1
A+1?A
End
{0,A?L2
LinReg(ax+b) Y1
Equ?String(Y1,Str3
Str2+sub(Str3,1,length(Str3)-3)+u?Str2
B+A?B
DelVar AEnd
DelVar Str3DelVar L1DelVar L2DelVar Y1DelVar usub(Str1,1,length(Str1)-1?Str1
sub(Str2,2,length(Str2)-1?Str2

I know there are probably optimizations that could be made to that I just haven't gone over it really to look for any. I kinda just made it so it'd work and then posted it. If someone wants to optimize, go for it :)

Note:
The only thing that needs to be modified in this one is that the space that gets placed at the end needs to just be any token that IS NOT used in the string you are compressing. So if you string being compressed uses spaces then just replace the space with, for example, a question mark. After that you need to replace the space in the fifth row (where your checking to see if the string part equals something) with that same token as in the first row. Hopefully that makes sense.

As a side note to this I realized this didn't work all that well for maps that were all numbers so I made another program that converts those numbers into some other token of your choice. This one will need some adjusting depending on what your string contains but it is fairly easy. If anyone needs it explained I will.

Code: (Different Tokens) [Select]
"_"+Str1?Str2
For(A,2,1+length(Str2
sub(Str2,1,A-1)+sub("SATRWHM",expr(sub(Str2,A,1))+1,1)+sub(Str2,A+1,length(Str2)-A?Str2
End
sub(Str2,2,length(Str2)-1?Str2

Like I said that one needs to be modified depending on your string and such. The one that is posted is specific to how I wanted my string to be outputted and what my original string was.

So, hopefully someone finds this useful or something. Any questions just ask :)

28
TI Z80 / Unnamed RPGish Game
« on: August 24, 2010, 12:45:02 am »
So a few nights ago I decided I would start on a game that is something like an RPG type game. Now I don't know how far I'm going to go into making this an RPG game but what it is basically gonna be, as of right now, is a game where you go around kill enemies, level up and such. Nothing to big or anything since it's my first of this type of game. Now, I'll tell you right now that I don't have a whole lot of the game done. Right now I only have the map done and walking (with map switching) which is what you see in the screenshots. For now it is only going to be a 5*5 map of 15*5 tiles. The reason that it is taking a bit to load the map (not including the display, I'm talking about when it stays white for a second) is because the whole map is stored in a string and then I just put the part that is being displayed into a matrix (which is how I'm doing collision right now). Right now it really is not anything special and if you guys have any suggestions or questions or anything I would be happy to hear/answer them.

As for code, I will not be releasing any of the code (except in small segments when I'm explaining something or ask for help or something) until I get much further in development (probably around when I need to start Beta testing).

29
General Calculator Help / Need Help to Choose a Sprite Design
« on: August 20, 2010, 08:39:35 pm »
Hello all,

I need your guy's help to choose a sprite design.

Code: (Sprite 1) [Select]
  █  
 ███
  █  
  █  
 █ █

Code: (Sprite 2) [Select]
  █  
 ███
█ █ █
  █  
 █ █

Code: (Sprite 3) [Select]
  █  
 ███
█ █ █
 ███
█   █

Code: (Sprite 4) [Select]
  █  
 ███
█ █ █
 █ █
█   █

I just can't decide between those. If you want to contribute a different 5*5 sprite you can and I may put it up.

Also, you can change your vote too and such.

Edit:
The attached file will just easily display the sprites for you to see on the calculator.

30
TI Z80 / Sprite Maker
« on: August 10, 2010, 09:34:49 pm »
So finally I am getting a version that I'm quite satisfied with. As far as I know this there are no known bugs so please inform me if any are found.

So this spriter is quite revolutionary, I think and have been told. Some of the features may run a bit slow but that is only due to the limitations of TI-BASIC. These programs, depending which one you use, will pad the side/s of the sprite to the nearest multiple of eight. This means that if you are making a 5*7 sprite and happen to use the one that pads both sides then it will give you a hexadecimal code for a 8*8 sprite, padding zeros on. If you use the one that only pads width then it will give the hexadecimal code for a 8*7 sprite.

Features for this program include:
-Any sprite size (well from 1*1 to 88*63 (padding width only) or 88*56 (padding both sides))
-Gray cursor.
-Cursor wrap around.
-Invert the sprite.
-Clear the sprite.
-Rotate the sprite 90º to right and left.
-Flip the sprite horizontally or vertically.
-Single row or column filling or deleting.
-Single row or column inverting.
-Supports sprites from one pixel in size to a size of fifty-six pixels.

Arrows - Move the cursor around.
[2ND] - Turns the current pixel on or off.
[MODE] - Rotates the sprite 90º to the left.
[DEL] - Rotates the sprite 90º to the right.
[X,T,Θ,n] - Flips the sprite horizontally.
[STAT] - Flips the sprite vertically.
[ALPHA] - Inverts the sprite.
[MATH] - Inverts the current column.
[X-1] - Inverts the current row.
[APPS] - Turns the whole row on.
[SIN] - Turns the whole row off.
[PRGM] - Turns the whole column on.
[COS] - Turns the whole column off.

They Sprite2Hex_PadBothSides.8xp stands at 877 bytes and Sprite2Hex_PadWidthOnly.8xp is 868 bytes. (Unfortunately with the new updates them made it bigger :()

Pages: 1 [2] 3 4 5