Author |
Message |
|
cjgone Aw3s0m3
Active Member

Joined: 24 May 2006 Posts: 693
|
Posted: 22 Feb 2009 05:36:17 pm Post subject: |
|
|
Sad, I can't understand these crazy optimizations. In fact, I don't get how to make snake with no lists. =( |
|
Back to top |
|
|
Weregoose Authentic INTJ
Super Elite (Last Title)

Joined: 25 Nov 2004 Posts: 3976
|
Posted: 22 Feb 2009 05:44:31 pm Post subject: |
|
|
In Button Masher, I would change that Repeat 20=randInt(10,30 to While int(21rand. ;)
Since "geometric mean" is a popular search phrase that leads people to my website, I've been needing an excuse to post one.
This works for lists of positive reals only: 10^(mean(log(Ans
Last edited by Guest on 11 Jul 2010 06:17:32 pm; edited 1 time in total |
|
Back to top |
|
|
nitacku
Advanced Member

Joined: 23 Aug 2005 Posts: 408
|
Posted: 22 Feb 2009 09:17:58 pm Post subject: |
|
|
cjgone wrote: Sad, I can't understand these crazy optimizations. In fact, I don't get how to make snake with no lists. =(
I'm not sure how to create a snake game without using a list either.
Is there a snake game which accomplishes this?
As for the optimizations, I have found that studying other authors source code is the best way to learn. That is one of the reasons why I am posting five minute programs. They are small enough to be coded directly by hand and they reinforce active learning through practice and critical thinking. |
|
Back to top |
|
|
calc84maniac
Elite

Joined: 22 Jan 2007 Posts: 770
|
Posted: 23 Feb 2009 01:12:46 am Post subject: |
|
|
I have made one without lists before... |
|
Back to top |
|
|
N.cruz
Newbie

Joined: 17 Feb 2009 Posts: 7
|
Posted: 23 Feb 2009 07:28:23 am Post subject: |
|
|
Snipes17 wrote: Quote: RE: Luby
hi I have a doubt... where can I fond the "LKEY" ...
is it the letter "L" ??
thks
The "LKey" is a list. The little L in front of Key is found in the list menu (2nd+Stat) under the "Ops" header. Then spell out "Key". Does that help?
So I have to put that little L and then write the word "KEY" with the <ALPHA> function?
correct me if I were wrong please
THKS |
|
Back to top |
|
|
darkstone knight
Advanced Member

Joined: 07 Sep 2008 Posts: 438
|
Posted: 23 Feb 2009 10:17:18 am Post subject: |
|
|
yep..
use uppercase letters |
|
Back to top |
|
|
mr. sir
Newbie

Joined: 21 Feb 2008 Posts: 41
|
Posted: 23 Feb 2009 04:55:42 pm Post subject: |
|
|
Well, when I have a list I need to type in over and over, it becomes kind of a pain. So I usually use the SetUpEditor function, run the program once, then the list will appear in the menu and I won't have to type the LKEY in over and over again: I can just use the name in the menu. |
|
Back to top |
|
|
TI-newb
Member

Joined: 24 Dec 2008 Posts: 158
|
Posted: 23 Feb 2009 10:20:36 pm Post subject: |
|
|
Nitacku, i have been playing the snake game and it's awsome! but is it possible to make it in a graph screen? for that would free up more room and make it easier to play. anyways your awsome!
another cool Five Minute Program would be a clock, i do not know if it is possible, but like, displaying an actual clock (circle, with the Hour hand, Minute hand and the seconds). but i do not know if that can be done in 5 minutes. but i'm just placing suggestions out there. |
|
Back to top |
|
|
SonicBoom95
Member

Joined: 31 Jan 2008 Posts: 237
|
Posted: 24 Feb 2009 08:35:58 am Post subject: |
|
|
[quote name='TI-newb' post='131587' date='Feb 24 2009, 04:20 AM']Nitacku, i have been playing the snake game and it's awsome! but is it possible to make it in a graph screen? for that would free up more room and make it easier to play. anyways your awsome!
another cool Five Minute Program would be a clock, i do not know if it is possible, but like, displaying an actual clock (circle, with the Hour hand, Minute hand and the seconds). but i do not know if that can be done in 5 minutes. but i'm just placing suggestions out there.[/quote]
First question: Yes. Yes it can. I'm a bit on the time-pressed side, so I can't decipher nitacku's optimizations right now, to change the grid size and such. (Though if I had gotten any sleep last night, it might have helped. Darn you Touhou 10.) The change itself is a theoretically simple one. Just change the grid size, and change the place where the graphics are being placed. In fact, collision detection might become a LOT easier...in fact, I can see a way to entirely rewrite this with graph screen. <nerdity>We can make it better. Faster. Stronger.</nerdity>
Second question: a. Yes. b. No. |
|
Back to top |
|
|
TI-newb
Member

Joined: 24 Dec 2008 Posts: 158
|
Posted: 24 Feb 2009 09:58:05 pm Post subject: |
|
|
i have made a clock so far, and uhm, if u don't mind can u display the snake game on grids? cause im still like a beginner and do not know much.. im starting to learn about Lists and Strings |
|
Back to top |
|
|
nitacku
Advanced Member

Joined: 23 Aug 2005 Posts: 408
|
Posted: 25 Feb 2009 02:25:07 am Post subject: |
|
|
Ok, here is the Snake game modified for the Graph screen.
The code is nearly identical to the Homescreen version.
The only differences between the two versions is the code I colored orange.
Snake [Graph Screen]
PlotsOff
AxesOff
GridOff
FnOff
ClrDraw
6→X
4→Y
0→Z
4.06→θ
SetUpEditor L1 //this is the list
{Ans,Ans,Ans→L1
26
Repeat max(Y+.01X=L1
If Ans=24 or Ans=26
Then
Ans-25→A
DelVar B
End
If Ans=34 or Ans=25
Then
int(.25(Ans-29→B
DelVar A
End
If Y+.01X=θ
Then
Z+1→Z
Repeat not(max(Ans=L1
randInt(0,9)+.01randInt(0,22
End
Ans→θ
Text(6int(Ans),400fPart(Ans),"+
augment(L1,{Y+.01X→L1
End
Text(6int(L1(1)),400fPart(L1(1)),"░░░ //3 spaces
∆List(cumSum(augment(L1,{Y+.01X→L1
Y+B
Ans-10((Ans>9)-(Ans<0→Y
X+A
Ans-23((Ans>22)-(Ans<0→X
Text(6Y,4X,"O
getKey
End
ClrHome
Disp "CRASHED!","SCORE:
Output(2,8,Z
It's actually possible to make this game go even faster now that it is on the Graph screen.
Instead of keeping track of all the snake links, only the first and last would need to be known.
Collisions would be detected by using the pxl-Test( command.
If you like, I can post that version as well :P
TI-newb wrote: i have made a clock so far, and uhm, if u don't mind can u display the snake game on grids? cause im still like a beginner and do not know much.. im starting to learn about Lists and Strings If you want to display a grid, you can add the following code to the top of the program, however the grid is going to be erased as the snake moves around the screen.
0→Xmin
0→Ymin
.25→∆X
.16→∆Y
...
GridOn //Replace GridOff
...
btw, I'll also post the code to the clock program tomorrow.
Last edited by Guest on 21 Jun 2010 11:56:44 pm; edited 1 time in total |
|
Back to top |
|
|
TI-newb
Member

Joined: 24 Dec 2008 Posts: 158
|
Posted: 25 Feb 2009 08:02:45 pm Post subject: |
|
|
[quote name='TI-newb' post='131596' date='Feb 24 2009, 09:58 PM']i have made a clock so far, and uhm, if u don't mind can u display the snake game on grids? cause im still like a beginner and do not know much.. im starting to learn about Lists and Strings[/quote]
What i meant was, If u dont' mind can u display the snake game on 'Graphs' ?" i was uhm. tired xD but u still did it on graph ! that is cool, i can't wait till i try it out. |
|
Back to top |
|
|
nitacku
Advanced Member

Joined: 23 Aug 2005 Posts: 408
|
Posted: 25 Feb 2009 11:02:13 pm Post subject: |
|
|
Here is the code to create an analog clock for those of you who own a TI-84+/SE calc.
Analog Clock
ZStandard
ZSquare
FnOff
AxesOff
GridOff
PlotsOff
ClrDraw
Radian
DelVar X
DelVar Y
DelVar θ
SetUpEditor L1
Circle(0,0,10,{i //imaginary number i
Circle(0,0,9.3,{i //imaginary number i
Repeat getKey=45
πgetTime/30→L1 //pi * getTime (function only available on TI-84+/SE)
If θ≠Ans(3
Then
If Y≠Ans(2
Then
If .4X≠Ans(1
Then
Line(0,0,5sin(X),5cos(X),0
2.5Ans(1→X
End
Line(0,0,7sin(Y),7cos(Y),0
L1(2→Y
End
Line(0,0,8sin(θ),8cos(θ),0
L1(3→θ
Line(0,0,8sin(Ans),8cos(Ans
Line(0,0,7sin(Y),7cos(Y
Line(0,0,5sin(X),5cos(X
End
End
ClrDraw
ClrHome
Last edited by Guest on 21 Jun 2010 11:57:41 pm; edited 1 time in total |
|
Back to top |
|
|
exponation
Newbie

Joined: 27 Feb 2009 Posts: 1
|
Posted: 27 Feb 2009 04:42:48 am Post subject: |
|
|
Uhh... sorry for being confused... but whenever I attempt to run snake, it says there's a syntax error in the "(Ans,Ans,Ans->L1" line. the error occurs specifically on the comma between the second and third ans. can anyone help me out? |
|
Back to top |
|
|
darkstone knight
Advanced Member

Joined: 07 Sep 2008 Posts: 438
|
Posted: 27 Feb 2009 05:27:56 am Post subject: |
|
|
its {, not ( |
|
Back to top |
|
|
SonicBoom95
Member

Joined: 31 Jan 2008 Posts: 237
|
Posted: 27 Feb 2009 08:28:54 am Post subject: |
|
|
Hey, Nitacku. I've been poring over how you could optimize the code on Snake, by only keeping track of the first and last positions of the snake. Trouble is, doing that seems to require keeping track of everything in the middle...so, it seems like it would be just a simple conditional swap from max(.....=L1) to something involving pxl-Test.
Am I wrong? |
|
Back to top |
|
|
Weregoose Authentic INTJ
Super Elite (Last Title)

Joined: 25 Nov 2004 Posts: 3976
|
Posted: 27 Feb 2009 01:31:26 pm Post subject: |
|
|
If you take a one-pixel-thin snake body that walks two pixels at a time, then there would only be one pixel to touch the end of the tail. |
|
Back to top |
|
|
Ed H
Member

Joined: 30 Nov 2007 Posts: 138
|
Posted: 27 Feb 2009 06:56:39 pm Post subject: |
|
|
Here is a snake program that uses no lists. I wrote this a while ago, and I'm not sure if this is the latest version. It's pretty playable; try it! |
|
Back to top |
|
|
TI-newb
Member

Joined: 24 Dec 2008 Posts: 158
|
Posted: 27 Feb 2009 08:07:49 pm Post subject: |
|
|
exponation wrote: Uhh... sorry for being confused... but whenever I attempt to run snake, it says there's a syntax error in the "(Ans,Ans,Ans->L1" line. the error occurs specifically on the comma between the second and third ans. can anyone help me out?
okay, lemme tell u, instead of using "(" you have to use '{'
{ is used for Lists, and " is used to strings, since L1 is a List, you have to type down, {Ans,Ans,Ans,->L1 |
|
Back to top |
|
|
nitacku
Advanced Member

Joined: 23 Aug 2005 Posts: 408
|
Posted: 27 Feb 2009 09:45:19 pm Post subject: |
|
|
Ed H wrote: Here is a snake program that uses no lists. I wrote this a while ago, and I'm not sure if this is the latest version. It's pretty playable; try it!
Ah, yes. Pxl-test does make this possible.
But I wonder if a snake game can be created without using lists and pxl-test... and matrices as well
Last edited by Guest on 27 Feb 2009 09:47:49 pm; edited 1 time in total |
|
Back to top |
|
|
|