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 - pimathbrainiac

Pages: 1 ... 78 79 [80] 81 82 ... 125
1186
Humour and Jokes / The Rules Game
« on: April 18, 2013, 11:54:31 am »
The object of the Rules Game is simple: win the Rules Game

How? Make rules.

Set-in-stone rules:

You may not make a rule that automatically makes someone win/lose the Rules Game (... wins the game, ... loses the game, "if you do this, you win," etc.)
You may not double-post. period. (even in accordance the the forum rules)
Once someone wins, they will be posted in a winners list in this post, and a new game will start.
You may not comment on other people's rules without posting a rule in the same post (just say "comment:" before you make a comment)
You may not negate other people's rules
Rules remain for the duration of a game. If you don't follow them, you are out.
Edits count as comments
Edits to a violating rule are disallowed unless made before the next rule is made.
You are not allowed to join once the first person is out.
When there are two people left, if no new rule is made within a day of the previous, the person who made the last rule wins!



Winners (so far):

epic7 with: http://ourl.ca/18745/376490


I'll start:

I like poetry
And this is a cool haiku
All rules must be too

1187
Other Calculators / Re: JFTHOI (Just For The Heck Of It) Axe Contest!
« on: April 18, 2013, 11:39:48 am »
Bump!

I would like to know if anybody is actually interested.

If not, no problem. I'll just call the competition off.

1188
Axe / [TUTO] How to make get rid of line clipping in Axe!
« on: April 17, 2013, 10:15:53 pm »
Line clipping? I thought that that is a problem being worked on by Runer112 for future versions?

Well, yes, but here's a temporary fix, using trig!

To all those who may spot any error in my trig: please tell me. I'll try to fix it.



Inspiration:

I saw god's (leafy's) Super Hexagon port, and I saw a problem that he listed: The line clipping. I thought to myself: how do I solve this? The answer is by using trig!

Just to show you I'm not crazy: here are some screenies for a very incomplete Super Hexagon engine (I will not continue after this point because I just made it to solve a problem):



Axe trig background:

Trig in Axe is not standard to the trig you learned in school. There are no degrees or radians. There are only sine and cosine functions (of which all normal functions can be derived from). The period of these functions is 256, and the amplitude 128 (signed).
To get a sine of an angle (0-255, not 0-359), it is simply sin(angle)//127 (make sure it is // and not /, due to the output being signed). The same works with cosine.

Since my super hexagon engine is done in polar coordinates, it is easier with this case, but there is only one more step with using

Now: here's some code before I explain how to do stuff (copied from graph-link):

Code: [Select]
.HEXAGON

ExprOn

For(A,0,7)
0ü{A+L}
End

64ü{1+L}

128ü{3+L}

192ü{5+L}

0ü{7+L}

0üXüAüBüCüD
1üF
2üE
65435üW
43üO
0üR

0üGüHüIüJüKüLüMüN

Repeat (getKey(15))
D+EüD
8*(getKey(3)-getKey(2))üC
X+CüX
If (Xùú8)
248üX
ElseIf (Xù255)
0üX
End
If (Dùú2)
254üD
F++
sub(A)
ElseIf (Dù255)
0üD
F++
sub(A)
End
10*cos(X+D)üA
10*sin(X+D)üB
ClrDraw
Pxl-On(47+(A//128),31+(B//128))
Line((7*cos(0*O+D))//128+47,(7*sin(0*O+D))//128+31,(7*cos(1*O+D))//128+47,(7*sin(1*O+D))//128+31)
Line((7*cos(1*O+D))//128+47,(7*sin(1*O+D))//128+31,(7*cos(2*O+D))//128+47,(7*sin(2*O+D))//128+31)
Line((7*cos(2*O+D))//128+47,(7*sin(2*O+D))//128+31,(7*cos(3*O+D))//128+47,(7*sin(3*O+D))//128+31)
Line((7*cos(3*O+D))//128+47,(7*sin(3*O+D))//128+31,(7*cos(4*O+D))//128+47,(7*sin(4*O+D))//128+31)
Line((7*cos(4*O+D))//128+47,(7*sin(4*O+D))//128+31,(7*cos(5*O+D))//128+47,(7*sin(5*O+D))//128+31)
Line((7*cos(5*O+D))//128+47,(7*sin(5*O+D))//128+31,(7*cos(0*O+D))//128+47,(7*sin(0*O+D))//128+31)
sub(B)
DispGraph
End
Return

Lbl A
!If (F^5)
úEüE
End
Return

Lbl B
0üGüHüIüJüKüLüMüNüR
For(K,0,3)
{(2*K)+L}üH
{(2*K)+1+L}-6ü{(2*K)+1+L}
{(2*K)+1+L}/2üG
If (G÷7)
0ü{(2*K)+1+L}
{(2*K)+1+L}/2üG
End
For(L,0,5)
(G*cos(L*O+D))//128+47üI
(G*sin(L*O+D))//128+31üJ
(G*cos((L+1)*O+D))//128+47üM
(G*sin((L+1)*O+D))//128+31üN
If ((J<<0) and (N<<0))
ElseIf (J<<0)
J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI
0üJ
ElseIf (N<<0)
N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM
0üN
End
If ((J>>63) and (N>>63))
ElseIf (J>>63)
J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI
63üJ
ElseIf (N>>63)
N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM
63üN
End
!If (H=L)
Line(I,J,M,N)
End
End
End
Return

We are only concerned with this segment of code:

Code: [Select]
Lbl B
0üGüHüIüJüKüLüMüNüR
For(K,0,3)
{(2*K)+L}üH
{(2*K)+1+L}-6ü{(2*K)+1+L}
{(2*K)+1+L}/2üG
If (G÷7)
0ü{(2*K)+1+L}
{(2*K)+1+L}/2üG
End
For(L,0,5)
(G*cos(L*O+D))//128+47üI
(G*sin(L*O+D))//128+31üJ
(G*cos((L+1)*O+D))//128+47üM
(G*sin((L+1)*O+D))//128+31üN
If ((J<<0) and (N<<0))
ElseIf (J<<0)
J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI
0üJ
ElseIf (N<<0)
N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM
0üN
End
If ((J>>63) and (N>>63))
ElseIf (J>>63)
J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI
63üJ
ElseIf (N>>63)
N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM
63üN
End
!If (H=L)
Line(I,J,M,N)
End
End
End
Return

Simply put: This is the display routine for incoming sprites. If it sees a line that is clipped, it fixes it.

This is the first little bit of code:

Code: [Select]
(G*cos(L*O+D))//128+47üI
(G*sin(L*O+D))//128+31üJ
(G*cos((L+1)*O+D))//128+47üM
(G*sin((L+1)*O+D))//128+31üN

It does the polar to rectangular conversion.

G is the radius, L*O is the angle of one point relative to D (which rotates everything, so it is added here), and (L+1)*O is the other

The 47 and 31 are the coordinates for the center of the screen (the origin)

Code: [Select]
If ((J<<0) and (N<<0))
ElseIf (J<<0)
J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI
0üJ
ElseIf (N<<0)
N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM
0üN
End
If ((J>>63) and (N>>63))
ElseIf (J>>63)
J*sin(O-(448-(L*O+D)))//127//sin(64-(O-(448-(L*O+D))))//127+IüI
63üJ
ElseIf (N>>63)
N*sin(O-(448-((L+1)*O+D)))//127//sin(64-(O-(448-((L+1)*O+D))))//127+MüM
63üN
End

This is the meat of the routine. It checks if an endpoint is out of bounds (and it both are, it does nothing) (Note: This routine was written for the top and bottom of the screen to be checked, but not the sides. It follows pretty much the same process, only the coordinates are flipped and 448 is 364)

The key is the law of sines: There is a triangle formed by the top border of the screen, the vertical line of the x coordinate of the point off-screen, and the line that is being clipped. By using this (the formula above) we can calculate the x coordinate of the point on the line that is at y=0

That is all. Remember to find your angles first if you are using rectangular coordinates. If you don't feel that I explained it well enough, please let me know and tell me what I need to explain.

1189
TI Z80 / Re: [TI-Concours Axe round one] AHELI04
« on: April 15, 2013, 09:19:17 pm »
[cynical optimism]After the lack of programs submitted for the second round, it looks like I might actually make the finals![/cynical optimism]

My sprite editor was pretty good, so I think I'll have a shot.

1190
Gaming Discussion / Re: Your best video game pickups.
« on: April 15, 2013, 09:00:54 pm »
Best video game pickup of mine: Awesomenauts. Give it a try!

It's a side-scroller shooter MOBA. In other words, epic.

Wait: that's not what the topic is about... oops.

1191
Other Calculators / Re: JFTHOI (Just For The Heck Of It) Axe Contest!
« on: April 15, 2013, 06:07:52 pm »
Just as conformation: you are competing?

I can't quite tell what the level of sarcasm is in that statement (due to the lol at the end). :P

1192
TI Z80 / Re: [TI-Concours Axe round one] AHELI04
« on: April 15, 2013, 06:05:44 pm »
Looks not bad at all! :)
How are the controls? Are you constantly flying up from itself, since it looks a bit like that.

If up is not pressed, then down. Just arrow key controls. Thanks for asking!

1193
TI Z80 / [TI-Concours Axe round one] AHELI04
« on: April 15, 2013, 02:30:06 pm »
Well, I've been asked for a screenie, so here is one of my game:



It's not much, but I enjoyed programming it.

1194
Other Calculators / Re: JFTHOI (Just For The Heck Of It) Axe Contest!
« on: April 15, 2013, 09:38:20 am »
I'm in :D I'll make some sort of a demo program, but I don't know what exactly yet.

EDIT : now that I think of it, I'll surely use an axiom I made some months ago, is it ok ?

An axiom that you made before this contest is allowed

Is inline ASM allowed?

Only if you can show me that it came from before this contest (use your best judgement here)

Hmm, I think I'm entering. I just have to think of a cool idea :P

Should I add you to the competitors list?

i may go and learn axe for this :)

Do it! It is worth it! This contest is just for experience and for fun (As I said, just for the heck of it!).

So this is like an open-ended cage match? Sounds pretty cool :)

Yes, yes it is.

1195
Other Calculators / JFTHOI (Just For The Heck Of It) Axe Contest!
« on: April 14, 2013, 09:15:02 pm »
With all these fancy contests around (with prizes and such), I thought it would be nice to see a contest. Just a contest. Nothing but a contest. No prizes. Just for the heck of it.

The rules are simple:

Make an Axe program that will amaze (you must not have been working on it before now). It can be math, games, whatever. Just do whatever inspires you.
Tell me what it will be on this thread. I will add you to the list of contestants.
Program it. You may not release source or binaries until the due date (screenies okay, though).
Have fun!  Your job is to make others like your project.
You may use axioms, but you may not create your own specifically for this task.
You may use external ASM code, but you may not create your own specifically for this task.

Due date: 12:00 AM on May 27, 2013

How to win: Community votes. I'll put a poll up and have a topic with all the files attached. The person with the most votes by June 1st wins!

Known Competitors:

Matrefeytontias

Ki1o

1196
News / Re: Mini vMac for the TI-Nspire
« on: April 14, 2013, 03:12:22 pm »
THIS IS AWESOME!

Now port Windows

* pimathbrainiac runs to Antarctica
Windows 3.1 running in DosBox. That might work.

WinCE, perhaps?

anyone up to the challenge?

Why not PalmOS?

Because I thought of WinCE first :P

PalmOS is a good choice too, I suppose. So long as the OS can be compiled for ARM, it's good.

* pimathbrainiac wonders if it is possible to emulate x86 on ARM (I don't know if ARM is 16 bit or 32 bit)



Edit: WinCE and PalmOS have both been ported to ARM, so it looks like they might be possible

1197
News / Re: Mini vMac for the TI-Nspire
« on: April 14, 2013, 03:04:15 pm »
THIS IS AWESOME!

Now port Windows

* pimathbrainiac runs to Antarctica
Windows 3.1 running in DosBox. That might work.

WinCE, perhaps?

anyone up to the challenge?

1198
TI-Nspire / Re: GeNspire
« on: April 14, 2013, 03:03:11 pm »
derp. my fault. I didn't realize that m68k was for the console itself :P

1199
TI-Nspire / Re: GeNspire
« on: April 14, 2013, 02:59:01 pm »
Just fyi, Mega drive and Sega Genesis are the same thing. :)
Good! Because I know more about the code than the hardware :P this is just a port, so I don't have to go learn m68k ASM.

I thought nSpires were ARM?

1200
TI-Nspire / Re: GeNspire
« on: April 14, 2013, 02:53:56 pm »
Out of curiosity, will this be a true emulator, or a simulator?

(for clarity: an emu emulates hardware, while a simulator simulates software)

Pages: 1 ... 78 79 [80] 81 82 ... 125