It's called LINE CHASER (caps lock = cruise control for cool etc).

Basically, you control a line with the arrow keys on the graph screen. Pressing an arrow key increases/decreases your velocity in the X or Y direction by 1. Every turn, your speed decreases by .05. You zip around the screen, you bounce off the walls (with 85% velocity) and the maximum speed is 10 in both directions (each).

The goal of the game is to avoid the AI line, which adjusts its X/Y velocities according to yours. If the X/Y coordinate is higher than yours, it subtracts one from its velocity in that direction, and if it's lower than yours it adds one.

Anyway, it has a custom input on the graph screen (God help me if I use Menu) and stores up to 50 high scores in LL416 (archived when not in use). You can also save a game to LCHS, where it can be continued later. Again, the high score table is all nice 'n custom. The menus, etc use Text( for displaying. The window/other stuff is set before the program begins and it's also compatible with Mirage.

It runs fast as hell, too.

Anyway, I'm going to see if I can write the documentation, get some screenshots and compress it to a .zip to upload to the archive.

My internet at home's been down for about a month now, and the library has all these a-tarded user controls that don't allow you to save files, access half the Internet, or use *any* applications besides IE 6 or Microsoft Word.

No, seriously. No Paint, Notepad, or (God help us) running programs from a flash drive.

So yeah, it'll probably be a while.
Sounds like a fairly good concept. When you say "line," how long of a line are we talking about? Does it do intelligent snake-like follow-and-erase?
Well, it's only one segment long. Fex, it's a line between your current coordinates and the ones from the previous frame.

Same goes for the enemy.
Update: I've optimized the program. Tonight I'll (try to) get it on the computer, write documentation, and take some screenshots.

And upload it to the archive.

Source will be posted soon.
gud nuze.

I finished the program, lolschoolcomputers won't let me run/install a ZIPping program, so I'll have to .ZIP it at a later date.

The full documentation is thus:


Code:

// Aeromax's Line Chaser V1.0
// September 23, 2008
// Aeromax / Flameviper, Cemetech

// INFORMATION
// This is the complete ASCII source for the .x8p program CHASE, written by me (Aeromax) September 23, 2008.
// Obtained from .8xp using the Cemetech.net SourceCoder2.0
// It uses L415 to score up to 50 high scores.
// You are a line. The purpose of the game is to escape the other line's wrath.
// From the home screen:
// The keys directly below the graph screen correspond to the text above.
// Ergo,
// F1 and F2 will start a new game,
// F3 will resume a saved game,
// and F4 or F5 will view the high scores.
// From the main screen, [CLEAR] can also be used to enter the reset menu.
// The arrow keys control movement, and can be held down.
// [2ND] decreases your speed in both the X and Y directions,
// [MODE] invokes the PAUSE menu, from which you can resume the game, save and quit, save and resume, not save and quit, or wait indefinitely before unpausing.
// [DEL] toggles the score-display in the top-left corner of the screen.
// [MATH], [APPS] AND [PRGM] will save and instantly resume the game.

// TROUBLESHOOTING
// It uses the graph screen for gameplay, so if any weird lines appear on the screen for no apparent reason (the main menu should only have horizontal/vertical lines encasing the text, and nothing else), erase the Y= variables (from the home screen, the uppermost left key on the calculator).
// Other than that, the code block in the beginning of the program takes care of setting the window, turning off the axes, et cetera. This might interfere with any settings you've made prior to running the program. However, they're easily resettable from any of the thousands of menus on your calculator.
// If it gives you ERR: UNDEFINED at the main page, ∟L415 and/or ∟LCHS don't exist on your calculator.
// To fix it, go to the home screen and enter the following commands.
// The first L in "∟L415" is selected from the List menu ([2nd], [stat]) and Archive is selected from the Catalog ([2nd], [0]).
// :50→dim(∟L415
// : Archive ∟L415
// :18→dim(∟LCHS
// This will enable the high scores and the save slot.
// If it gives you ERR: MEMORY for no apparent reason, try archiving some other programs through [2ND], [+] which is the memory manager.
// If it gives you ERR: ARCHIVED at any point, go through the memory management and unarchive all the lists and number variables.

// LICENSING
// You are free to use and distribute this program, provided you do so as the original .ZIP (including credit, documentation, source etc).
// If you modify this program, it doesn't nullify the hours I spent coding it and you aren't exempt from this requirement.
// Comments / questions / concerns / Viagra spam =
// theflameysnake@yahoo.com
// I'm also active on the cemetech.net forums under the name "Aeromax".

// VERSION HISTORY
// Version 0.9
// September 8(?), 2008
// Game engine, high scores, user interface and most everything is done at this point. It runs at (about) 5 FPS, so tolerable as far as speed goes.
// Version 1.0
// September 23, 2008
// After some prodding, I finally got around to optimizing the program. Essentially, converting the whole game cycle from a Lbl/Goto into a Repeat/End, did some tinkering with the wall collision detection, used the fast circle h4x and it now runs at a very decent 15FPS (assuming 18K free RAM).

// CREDITS <3
// Mr. K, who started me out programming.
// My grandmother, who bought my current TI84PSE.
// Smithy, for reminding me about TI programming on IRC in June '08.
// Kerm Martian, for programming SourceCoder 2.0
// Cemetech as a whole, for tolerating my inefficient spaghetti code.
// That one guy. You know who you are.

::"AEROMAX'S LINE CHASER V1.0"
:Lbl BA
:ClrHome
:ClrDraw
:0→∟LCHS(18)
:0→Xmin:0→Ymin:94→Xmax:62→YMax:CoordOn:GridOff:AxesOff
:Text(‾1,0,0,"LINE CHASER V1.0"
:Horizontal(54
:Text(9,0,"CODED BY AEROMAX 09.08.2008"
:Text(15,0,"RELEASED UNDER GDFL. FEEL"
:Text(21,0,"FREE TO MODIFY, GIVE CREDIT"
:Text(29,0,"USE THE ARROW KEYS TO FLEE"
:Text(35,0,"THE LINE AS LONG AS YOU CAN."
:Horizontal(34
:Text(43,0,"TOP SCORE: "
:Unarchive∟L415
:50→dim(∟L415)
:Text(43,45,∟L415(1)
:Horizontal(20
:Horizontal(12
:Text(56,0,"START               RESUME            SCORES"
:0→θ
:Lbl BZ
:Repeat θ≠0
:getKey→θ
:End
:Archive∟L415
:If θ=11 or θ=12
:Goto BB
:If θ=13
:Then
:∟LCHS(1)→K
:∟LCHS(2)→L
:∟LCHS(3)→M
:∟LCHS(4)→N
:∟LCHS(5)→O
:∟LCHS(6)→P
:∟LCHS(7)→Q
:∟LCHS(8)→R
:∟LCHS(9)→S
:∟LCHS(10)→T
:∟LCHS(11)→U
:∟LCHS(12)→V
:∟LCHS(13)→W
:∟LCHS(14)→X
:∟LCHS(15)→Y
:∟LCHS(16)→Z
:∟LCHS(17)→θ
:1→∟LCHS(18)
:ClrDraw
:Goto AA
:End
:If θ=14 or θ=15
:Then
:ClrDraw
:For(θ,3,57,6
:Text(θ,0,"  0---   0---   0---   0---   0---    "
:End
:{0,18,37,56,75,94}→L1
:For(θ,1,6,1)
:Vertical L1(θ)
:End
:Horizontal(60
:Horizontal(62
:1→Y
:Unarchive∟L415
:For(Z,3,57,6)
:For(θ,2,78,19)
:Text(Z,θ,∟L415(Y)
:Y+1→Y
:End
:End
:Archive∟L415
:0→θ
:Repeat θ≠0
:getKey→θ
:End
:Goto BA
:End
:If θ=45
:Menu("RESET ALL DATA?","RESET DATA",BX,"SETUP GAME",BY,"RETURN",BZ
:Goto BZ
:Lbl BX
:Unarchive∟L415
:Lbl BY
:50→dim(∟L415)
:Fill 0,∟L415)
:18→dim(∟LCHS)
:Fill 0,∟LCHS)
:Goto BA
:Lbl BB
:randInt(0,94)→X
:randInt(0,62)→Y
:randInt(0,94)→O
:randInt(31,62)→P
:{1,0}→L6
:0→Q
:0→R
:0→Z
:0→θ
:0→U
:ClrDraw
:ClrHome
:Lbl AA
:Repeat (O+4.5)>X and X>(O-4.5) and (P+4.5)>Y and Y>(P-4.5)
:If L6(1)=1
:Text(0,0,U
:Z*.99→Z
:θ*.99→θ
:Q*.99→Q
:R*.99→R
:U+1→U
:M→K
:N→L
:O→M
:P→N
:V→S
:W→T
:X→V
:Y→W
:getKey→A
:If A≥31 and A≤33
:Goto AZ
:If A=21
:Then
:Z*0.8→Z
:θ*0.8→θ
:End
:Lbl AY
:If A=22
:Menu("GAME PAUSED-----","RESUME",AV,"END GAME",AB,"SAVE GAME",AZ,"SAVE AND QUIT",AU,"QUIT SANS SAVE",AT
:Lbl AV
:If A=23
:Then
:{L6(2),L6(1)}→L6
:Text(0,0,"                "
:End
:If A=24
:Z-1→Z
:If A=25
:θ+1→θ
:If A=26
:Z+1→Z
:If A=34
:θ-1→θ
:If X>O
:Q+1→Q
:If X<O
:Q-1→Q
:If Y>P
:R+1→R
:If Y<P
:R-1→R
:O+Q→O
:P+R→P
:X+Z→X
:Y+θ→Y
:If O<0 or O>94
:Then
:0-(.70*Q)→Q
:If O<0
:0→O
:If O>94
:94→O
:End
:If P<0 or P>62
:Then
:0-(.70*R)→R
:If P<0
:0→P
:If P>62
:62→P
:End
:If X<0 or X>94
:Then
:0-(.80*Z)→Z
:If X<0
:0→X
:If X>94
:94→X
:End
:If Y<0 or Y>62
:Then
:0-(.80*θ)→θ
:If Y<0
:0→Y
:If Y>62
:62→Y
:End
:Line(K,L,M,N,0
:Line(M,N,O,P
:Line(S,T,V,W,0
:Line(V,W,X,Y)
:End
:Lbl AB
:If ∟LCHS(18)=1
:Fill 0,∟LCHS)
:For(θ,0,(U/2),1)
:Line(X,Y,randInt(0,94),randInt(0,62),randInt(0,2)
:End
:1→θ
:Repeat θ≥256
:Circle(X,Y,θ,{i
:θ*1.5→θ
:End
:ClrHome
:Disp "LINE CHASER V1.0","","YOU DIED...  :(","","YOUR SCORE WAS "
:Output(6,1,U
:Unarchive∟L415
:SortD ∟L415
:If U≥∟L415(50)
:Then
:Output(8,1,"HIGH SCORE"
:U→∟L415(50)
:SortD ∟L415
:Archive∟L415
:End
:Repeat getKey:End
:Repeat getKey:End
:ClrDraw
:Goto BA
:Lbl AZ
:{K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,θ,1}→∟LCHS
:Goto AY
:Lbl AU
:{K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,θ,1}→∟LCHS
:Lbl AT
:ClrDraw
:ClrHome
:Stop
:I HOPE YOU
:ENJOYED USING
:THIS PROGRAM
:AS MUCH AS I
:ENJOYED MAKING
:IT. REGARDS,
:AEROMAX
:
:PS. SHOUTS TO
:CEMETECH.NET

SourceCoder 2.0 © Copyright 2000-2008 Cemetech & Kerm Martian
Huttah. Yesterday I uploaded the .ZIP (including screencaps, source, file and documentation) to the archives here and at United-TI.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement