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.


Messages - Michael_Lee

Pages: 1 2 3 [4] 5 6 ... 70
46
News / Re: TI-Boy SE Beta pre-release
« on: October 30, 2011, 10:54:50 pm »
Wait, hang on -- music is fixed?

For some reason, I recall that somewhere I was informed that music wasn't supported?

*Michael_Lee is confused

47
TI Z80 / Re: Online TI Token to Unicode Converter
« on: October 30, 2011, 10:51:24 pm »
Ooh, shiny!  It seems a little bit slow at times though -- is it because of Heliohost, or is it something in your code?

Unicode is basically text, but cooler (because it can display more characters then normal ASCII).

48
Axe / Re: Axe beginner - n00b tipz?
« on: October 30, 2011, 10:30:20 pm »
Another suggestion:
I've always learned best by doing: try making something.  It doesn't have to be something ambitious -- maybe try making a puzzler or a platformer or perhaps some kind of utility program.  Build on it iteratively, and make it a learning process.  After all, you only know what questions to ask when you need to ask the question (err, does that make sense?)  Post updates fairly frequently too -- it motivates you to work on it/makes you look stupid if you stop all of a sudden (so you don't).

...to be honest, I need to start doing that myself.

49
Axe / Re: Trying to get this to work
« on: October 28, 2011, 09:05:45 pm »
That's exactly what it does.  Everytime you do a 'DispGraph', you're actually destroying the text on the screen (because there's no text written to the buffer and the blankness overwrites what's on the screen).

50
Axe / Re: Trying to get this to work
« on: October 28, 2011, 09:02:05 pm »
Firstly, to stop the flickering, add a
Code: [Select]
Fix 5
somewhere at the top, and a
Code: [Select]
Fix 4
at the end of the program.

Second, I've never use OS Pic vars before -- is it safe to use a direct [Pic9] inside of a command?

Thirdly, try doing something like
Code: [Select]
[Pic9]->Pic8
outside of the loop then doing
Code: [Select]
Copy(Pic8,L6,768)   .or whatever number
I don't know if that'll do anything, but it seems like it's worth a shot.

Fourthly, a bit random, but I'm assuming that RotC is run at compile time and returns a pointer to the rotated sprite data?  If so, couldn't you dereference that pointer and technically do RotC on it infinitely as long as you don't mind the code bloat?

51
Axe / Re: Axe Q&A
« on: October 28, 2011, 08:14:39 pm »
Well, technically, you could cause a RAM clear.  That would certainly turn the calculator off.

Hell, if you detected an incorrect password, you could run through the VAT, archive everything, unarchive anything that needs to be secret, then RAM clear.

52
Axe / Re: Axe Q&A
« on: October 28, 2011, 06:57:18 pm »
What Builderboy's code is essentially doing is hardcoding in a list (technically a contiguous block of memory) containing data for a sprite.  Each sprite takes up exactly 8 bytes.

Edit: Ninja'd

53
TI Z80 / Re: Croquette IDE
« on: October 27, 2011, 07:31:16 pm »
Yup, that's a bug.

I fixed it so that it will now the parser will ignore any characters it doesn't recognize instead of just hanging there.

I don't really have time to do make an exe until the weekend though (and do some other minor fixes) so if you need an update, just download a fresh copy from the repository.

54
Axe / Re: Axe Q&A
« on: October 27, 2011, 07:22:37 pm »
The advantage of compiling a program to run in a shell?
I'm not too sure myself, but...

1. You can give your Axe program an icon and a description that will appear when you look at it in a shell
2. DoorsCS programs can be slightly larger (by about 700 bytes, I think) then the normal maximum (although you can use Crabcake and circumvent the entire issue of memory altogether)

55
TI Z80 / Re: Croquette IDE
« on: October 27, 2011, 09:54:12 am »
So what's is that the parser has found a character or sequence of characters that it couldn't find in it's dictionary and froze up.

I won't be able to work on this until the weekend.  Could you try deleting lines from the end until you get it to work then post which lines work and which ones you had to remove?

56
Axe / Re: Routines
« on: October 25, 2011, 01:46:02 am »
I don't know if you could call it either short or fast, but I did once make a variant on a line-drawing algorithm that can also do dotted lines at arbitrary intervals:
http://ourl.ca/4129/138496

I deliberately added a 'Pause' in there, and constructed in such a way so that it would always radiate outwards (I was making a raycaster thing at the time), so it could definitely be optimized.

57
Axe / Re: Axe Q&A
« on: October 24, 2011, 09:34:28 pm »
Same thing, except with 100 blocks (Muhahaha).

Code: [Select]
.Number of blocks (don't exceed about 350)
100->N

.Clearing L1 (there are more efficient ways to do this,
.but I can never remember the exact syntax).
For(I,0,N*2)
    0->{L1+I}
End

While 1


    .Creating X and Y
    For(I,0,N)
        If {I*2+L1+1} > 64
            rand^94->{I*2+L1}
            0->{I*2+L1+1}
        End
    End
   
    .Some other stuff
   
    .Drawing
    For(I,0,N)
        I*2+L1->J
        Pt-On({J},{J+1},Pic2)
        {J+1}+1->{J+1}
    End
   
    .More stuff
   
    .Collision check
    For(I,0,N)
        I*2+L1->J
        If abs({J}-X)<8
            ReturnIf abs({J+1}-Y)<8
        End
    End
   
    .Obligatory emergency exit
    ReturnIf getKey(15)
End

You probably would want to lower the number of blocks + make tweaks so they don't fall down all at once.

Also, you can see that in this example I used a 'For' loop several times -- it would be generally better if you could optimize it into a single loop.

Code: [Select]
.Number of blocks (don't exceed about 350)
100->N

.Clearing L1 (there are more efficient ways to do this,
.but I can never remember the exact syntax).
For(I,0,N*2)
    0->{L1+I}
End

While 1
    .Some stuff

    For(I,0,N)
        .Creating X and Y
        If {I*2+L1+1} > 64
            rand^94->{I*2+L1}
            0->{I*2+L1+1}
        End
       
        .Drawing
        I*2+L1->J
        Pt-On({J},{J+1},Pic2)
        {J+1}+1->{J+1}
       
        .Collision Check 
        I*2+L1->J
        If abs({J}-X)<8
            ReturnIf abs({J+1}-Y)<8
        End
    End
   
    .More stuff
   
    .Obligatory emergency exit
    ReturnIf getKey(15)
End

The above code relies on pointers/free ram -- a crucial part of Axe programming.

See Deep Thought's wonderful tutorials on both:

http://www.omnimaga.org/index.php?action=articles;sa=view;article=59
http://www.omnimaga.org/index.php?action=articles;sa=view;article=61

58
TI Z80 / Re: Wormy!
« on: October 24, 2011, 08:56:06 pm »
>.>
<.<

50+ wormies, please?  All of them, tumbling over and swirling around each other in a giant vat?

59
Axe / Re: Axe Q&A
« on: October 24, 2011, 08:47:21 pm »
Well, assuming that you assign each block an X and Y coordinate in a buffer, you could simply do a 'rand^94' when assigning an x coordinate, then leave it alone.

Pseudo-code:
Code: [Select]
0->block_count

While game_is_running == True:
    If create_a_block == True:
        rand^94->{block_count * 2 + L1}  // X-coordinate
        0->{block_count*2 + 1 + L1}      // Y-coordinate
        block_count++
    End
   
    For(A, 0, block_count):              // or is it 'For(A, 0, block_count - 1)' ?
        {block_count*2 + 1 + L1}++       // Increment each Y-coordinate so that every block moves down
    End

    [game code here]

End


60
Humour and Jokes / Re: Essay : Disadvantages and advantages of networks
« on: October 24, 2011, 08:00:02 pm »
Oh dear, I was about to genuinely critique it....
....then I read Builderboy's comment.

>.<

Pages: 1 2 3 [4] 5 6 ... 70