Source Codes

READ BELOW BEFORE STARTING
(or you may get confused)

These games may or may not be compatable with the TI-83+ !!!

-> this symbol is that button above the ooff key that looks like STO->
/= this stands for not equal to. On the TI, it is the equal sign with a line through it
___ is used as a place holder for the empty white space, this is ment to make it easier to find spaces in the code below. Each underscore represents one space.

The Xmin,Xmax,Ymin, etc... can be found under the VARS button and then under the WINDOW submenu.

The other commands should be found in the TI-83 manual Text inside parentheses "***" are not commands and should be entered as is with numbers, symbols, letters, and note the number of spaces on the screen as blanks( under zero key). The catalog is a good place to look for finding functions Most of the functions are under the PRGM key during EDIT mode The Symbol for Theta only shows up on the Symbols for most people; on the TI, it should be after the Z (looks like a zero with a horizontal line straight throught the middle). In this text Theta will look like {0}. You can change it to a different variable if you want, you'll just have to keep track of the one you changed. If you know what you are doing(or think you've got it) you can alter the program at your own will as long as you don't take credit for my work. Be sure to look for the differences between zeros and o's(0 and O). It's in BASIC, though some calculators have different spellings for thier functions, it really isn't too difficult to transpose between each other. I'm guessing you know how to start a new program.(PRGM key) The TI-85/86 does have some problems you'll need to work around. Such as the "If" command problem, the TI-85/86 require that you use 2 equal signs(e.i. If X==3). The single equal sign is used for true/false commands(I haven't used it properly yet). All in all the newer ones are better, but I disagree with the "If" command. I've found the TI manual very helpful in finding where and how functions are used if your using the below as examples of how things work in a program. As far as typing them in, I recomend copying them to notepad or the like. Email me of bugs or problems you have!
The text in yellow are comments, and should not be typed in.
These games may or may not be compatable with the TI-83+ !!!

ARCSHOT ESCAPE PLINKO HERO


ARCSHOT (complete commentation available here)
This one seems to be the most popular. The objective is to bomb the target. It's also the smallest in program size.


:0->Xmin
:94->Xmax
:1->Ymin
:63->Ymax
:PlotsOff
:CoordOff
:AxesOff
:GridOff
:FnOff
:Lbl A
:0->B
:randInt(10,85)->C
:ClrDraw
:ClrHome
:Line(C,1,C+5,1
:Line(C+1,2,C+4,2
:For(A,1,500)
:End
:Lbl B
:ClrDraw
:Input "SHOT POWER=",S
:B+1->B
:(1/S)->S
:Line(C,1,C+5,1
:Line(C+1,2,C+4,2
:For(X,0,95,.25
:(-S(X^2)+63)->Y (Make this negative S. If you use a minus, you'll get a syntax error!!)
:Y->Z
:Pt-On(X,Y)
:If Z<0 or Z=0
:Goto C
:End
:Lbl C
:1->M
:If X>(C-1) and X<(C+6)
:Then
:2->M
:X->K
:Line(K,1,K-8,3
:Line(K,1,K+8,3
:Line(K,1,K-6,8
:Line(K,1,K+6,8
:Line(K,1,K-2,6
:Line(K,1,K+2,6
:End
:For(A,1,200)
:End
:If M=2
:Then
:ClrHome
:If B=1
:Then
:For(I,1,3)
:Output(4,4,"FIRST TRY!"
:For(A,1,100)
:End
:Output(4,4,"__________" (10 spaces)
:For(A,1,100)
:End
:End
:Output(4,4,"FIRST TRY!:"
:End
:If B>1
:Then
:Output(4,4,B
:Output(4,8,"SHOTS"
:End
:Pause
:ClrHome
:Goto D
:End
:ClrHome
:Disp "SHOOT AGAIN:"
:Goto B
:Lbl D
:ClrHome
:Menu("PLAY AGAIN?","YES",A,"NO",E
:Lbl E
:ClrHome
:Stop

ARCSHOT ESCAPE PLINKO HERO


ESCAPE
In this game, the purpose is to reach the exit without getting caught by the roaming guards. Very simple, as is the plinko game.


:ClrHome
:Disp "MAKE YOUR WAY TO","THE EXIT WITHOUT","GETTING CAUGHT..")
:Pause
:3->C
:0->Z
:Lbl A
:ClrHome
:3->A
:1->B
:randInt(1,6)->D
:randInt(3,15)->E
:Lbl B
:randInt(1,6)->F
:randInt(3,15)->G
:If F=D and G=E
:Goto B
:Lbl C
:randInt(1,6)->H
:randInt(3,15)->I
:If H=D and I=E
:Goto C
:If H=F and I=G
:Goto C
:Lbl D
:randInt(1,6)->N
:randInt(3,15)->O
:If N=D and O=E
:Goto D
:If N=F and O=G
:Goto D
:If N=H and O=I
:Goto D
:Output(7,1,"----------------") (use 16 minus signs)
:Output(8,1,"PTS=")
:Output(8,5,Z)
:If C=3
:Output(8,14,"+++")
:If C=2
:Output(8,15,"++")
:If C=1
:Output(8,16,"+")
:Output(A,B,"+")
:Output(3,16,">")
:Output(D,E,"*")
:Output(F,G,"*")
:Output(H,I,"*")
:Output(N,O,"*")
:Lbl 0
:getKey->Y
:While Y=0
:getKey->Y
:End
:If Y=24 and B/=1
:Then
:Output(A,B," ") (put 1 space between the mark)
:B-1->B
:End
:If Y=25 and A/=1
:Then
:Output(A,B," ")
:A-1->A
:End
:If Y=26 and B/=16
:Then
:Output(A,B," ")
:B+1->B
:End
:If Y=34 and A/=6
:Then
:Output(A,B," ")
:A+1->A
:End
:Lbl 1
:randInt(1,5)->J
:If J=1 and D>1
:Then
:Output(D,E," ")
:D-1->D
:End
:If J=2 and E<15
:Then
:Output(D,E," ")
:E+1->E
:End
:If J=3 and D<6
:Then
:Output(D,E," ")
:D+1->D
:End
:If J=4 and E>1
:Then
:Output(D,E," ")
:E-1->E
:End
:randInt(1,5)->K
:If K=1 and F>1
:Then
:Output(F,G," ")
:F-1->F
:End
:If K=2 and G<15
:Then
:Output(F,G," ")
:G+1->G
:End
:If K=3 and F<6
:Then
:Output(F,G," ")
:F+1->F
:End
:If K=4 and G>1
:Then
:Output(F,G," ")
:G-1->G
:End
:randInt(1,5)->L
:If L=1 and H>1
:Then
:Output(H,I," ")
:H-1->H
:End
:If L=2 and I<15
:Then
:Output(H,I," ")
:I+1->I
:End
:If L=3 and H<6
:Then
:Output(H,I," ")
:H+1->H
:End
:If L=4 and I>1
:Then
:Output(H,I," ")
:I-1->I
:End
:randInt(1,5)->M
:If M=1 and N>1
:Then
:Output(N,O," ")
:N-1->N
:End
:If M=2 and O<15
:Then
:Output(N,O," ")
:O+1->O
:End
:If M=3 and N<6
:Then
:Output(N,O," ")
:N+1->N
:End
:If M=4 and O>1
:Then
:Output(N,O," ")
:O-1->O
:End
:Lbl 2
:Output(A,B,"+")
:Output(D,E,"*")
:Output(F,G,"*")
:Output(H,I,"*")
:Output(N,O,"*")
:If A=D and B=E
:Goto 99
:If A=F and B=G
:Goto 99
:If A=H and B=I
:Goto 99
:If A=N and B=O
:Goto 99
:If A=3 and B=16
:Goto 98
:Goto 0
:Lbl 98
:Z+1->Z
:Goto A
:Lbl 99
:C-1->C
:If C<1
:Goto 97
:Goto A
:Lbl 97
:ClrHome
:Output(4,4,"GAME OVER")
:Output(8,2,"PTS =")
:Output(8,7,Z)
:Stop

ARCSHOT ESCAPE PLINKO HERO


PLINKO
This one's basically like the Plinko game on The Price is Right. It doesn't work well at adding points if your low on memory.


:Lbl 1
:ClrHome
:3->D
:Menu("PLINKO","PLAY",A,"Quit",B)
:Lbl B
:ClrHome
:Stop
:Lbl A
:If D=0
:Goto G
:If D<3
:Then
:Pause
:ClrHome
:End
:If D=3
:0->E
:For(U,2,6)
:Output(U,1,"]..............[") (14 decimal points)
:Output(7,1,"]12341911914321[")
:Output(8,15,E)
:If D=3
:Output(8,1,"***")
:If D=2
:Output(8,1,"**")
:If D=1
:Output(8,1,"*")
:2->A
:1->B
:Lbl C
:0->{0}
:Lbl D
:Output(B,A-1," ")
:Output(B,A,"*")
:Output(B,A+1," ")
:If B=7
:Then
:Output(6,1,"]..............[" (14 decimal points)
:Goto F
:End
:If {0}=0
:getKey->{0}
:While {0}=0
:getKey->{0}
:End
:If {0}=24 and A>2
:A-1->A
:If {0}=26 and A<15
:A+1->A
:If {0}=34
:Then
:Output(B,A," ")
:Goto E
:End
:Goto C
:Lbl E
:If B/=1 and B/=2
:Output(B-1,2,"..............") (14 decimal points)
:If B/=7
:B+1->B
:Output(B,A,"*")
:If B=7
:Then
:Output(6,1,"]..............[") (14 decimal points)
:Goto F
:End
:randInt(0,1)->F
:If F=0 and A>2
:A-1->A
:If F=1 and A<15
:A+1->A
:Goto E
:Lbl F
:If A=2 or A=15
:E+1=E
:If A=3 or A=14
:E+2->E
:If A=4 or A=13
:E+3->E
:If A=5 or A=12
:E+4->E
:If A=6 or A=11
:E+1->E
:If A=7 or A=10
:E+9->E
:If A=8 or A=9
:E+1->E
:D-1->D
:Goto A
:Lbl G
:Output(8,15,E)
:Output(1,4,"GAME OVER")
:Pause
:Goto 1

ARCSHOT ESCAPE PLINKO HERO


HERO
This is my largest program by far. Each character in this game had to drawn in manually, which gives it it's bulk. Hero is an RPG including 5 weapons and 6 monsters.


:ClrHome
:Output(2,7,"HERO"
:Output(6,9,"BY"
:Output(7,8,"MARC"
:Output(8,7,"HAWKINSON"
:Output(1,3,"/:"
:Output(2,3,"::"
:Output(3,3,"::"
:Output(4,3,"::"
:Output(5,3,"::"
:Output(6,1,"(+^^+)"
:Output(7,3,"OO"
:Output(8,3,"OO"
:Pause
:PlotsOff
:ClrDraw
:1->Xmin
:95->Xmax
:1->Ymin
:63->Ymax
:CoordOff
:GridOff
:AxesOff
:PlotsOff
:Lbl L
:ClrHome
:Menu("HERO","NEW GAME",R,"CONTINUE",O
:Lbl O
:ClrHome
:Disp "(1-6)"
:Input "LEVEL?:",A
:abs(iPart(A))->A
:If A>6
:6->A
:If A<1
:1->A
:Input "GOLD?:",D
:Disp "(0-4)"
:Input "WEAPON NUMBER:",F
:iPart(F)->F
:If F>4
:4->F
:If F<0
:0->F
:Input "SKILL:",E
:If A=1
:15->C
:If A=2
:30->C
:If A=3
:60->C
:If A=4
:120->C
:If A=5
:240->C
:If A=6
:450->C
:C->B
:Goto T
:Lbl R
:1->A
:15->C
:C->B
:0->F
:150->D
:0->E
:Lbl T
:ClrHome
:If A=1
:3->G
:If A=2
:6->G
:If A=3
:12->G
:If A=4
:24->G
:If A=5
:48->G
:If A=6
:96->G
:If F=1
:G+2->G
:If F=2
:G+5->G
:If F=3
:G+8->G
:If F=4
:G+12->G
:Menu("TOWN","FIGHT",1,"INN 5G",I,"SHOP",S,"STATS",A,"HELP",H,"RESTART",R,"QUIT",Q
Be sure you get ..."FIGHT",1,"INN 5G",I... correct. There's a 'ONE' after FIGHT and an 'EYE' after INN 5G
:Lbl H
:ClrHome
:Disp "IN THE FIGHT","MODE, UP ARROW","ATTACKS, DOWN","ARROW RUNS."
:Pause
:ClrHome
:Disp "THE YELLOW KEY","QUITS OUT OF THE","GAME.","LOWER NUMBERS","SHOW DAMAGE","RECIEVED."
:Pause
:ClrHome
:Goto T
:Lbl Q
:ClrHome
:Stop
:Lbl I
:If D<5
:Then
:Output(4,1,"NOT ENOUGH GOLD!"
:Pause
:ClrHome
:Goto T
:End
:C->B
:D-5->D
:ClrHome
:Output(4,1,"HEALTH RECOVERED"
:Pause
:Goto T
:Lbl A
:ClrHome
:Output(1,1,"LEVEL:"
:Output(1,8,A
:Output(2,1,"HEALTH:"
:Output(2,9,B
:Output(2,12,"/"
:Output(2,14,C
:Output(3,1,"GOLD:"
:Output(3,7,D
:Output(4,1,"SKILL:"
:Output(4,8,E
:Output(5,1,"WEAPON:"
:If F=0
:Output(5,9,"FIST"
:If F=1
:Output(5,9,"POLE"
:If F=2
:Output(5,9,"DAGGER"
:If F=3
:Output(5,9,"SPEAR"
:If F=4
:Output(5,9,"SWORD"
:Pause
:ClrHome
:Goto T
:Lbl S
:ClrHome
:Menu("SHOP","POLE___100",11,"DAGGER_300",12,"SPEAR__900",13,"SWORD__1500",14,"TOWN",T
:Lbl 10
:ClrHome
:Disp "YOU CANNOT","AFFORD IT"
:Pause
:ClrHome
:Goto S
:Lbl 11
:If D<100
:Goto 10
:D-100->D
:1->F
:Goto T
:Lbl 12
:If D<300
:Goto 10
:D-300->D
:2->F
:Goto T
:Lbl 13
:If D<900
:Goto 10
:D-900->D
:3->F
:Goto T
:Lbl 14
:If D<1500
:Goto 10
:D-1500->D
:4->F
:Goto T
:Lbl 1
:If A=1 or A=2
:randInt(1,A)->H
:If A=3
:randInt(2,3)->H
:If A=4
:randInt(3,4)->H
:If A=5
:randInt(3,5)->H
:If A=6
:randInt(4,6)->H
:If H=1
:Then
:15->I
:3->J
:10->M
:5->N
:End
:If H=2
:Then
:30->I
:6->J
:20->M
:7->N
:End
:If H=3
:Then
:60->I
:12->J
:50->M
:10->N
:End
:If H=4
:Then
:120->I
:24->J
:100->M
:25->N
:End
:If H=5
:Then
:240->I
:48->J
:200->M
:50->N
:End
:If H=6
:Then
:500->I
:96->J
:0->M
:0->N
:End
:Lbl 2
:ClrDraw
:Text(1,1,"HEALTH:"
:Text(14,1,"WEAPON:"
:If F=0
:Text(20,1,"FIST"
:If F=1
:Text(20,1,"POLE"
:If F=2
:Text(20,1,"DAGGER"
:If F=3
:Text(20,1,"SPEAR"
:If F=4
:Text(20,1,"SWORD"
:Text(1,60,"ENEMY:"
:If H=1
:Text(8,60,"BIG ROACH"
:If H=2
:Text(8,60,"BAD CHIMP"
:If H=3
:Text(8,60,"FANG WOLF"
:If H=4
:Text(8,60,"SERPENT"
:If H=5
:Text(8,60,"GOLOM"
:If H=6
:Text(8,60,"KULROG"
:Line(30,10,35,15
:Line(38,12,36,15
:Line(36,15,37,20
:Line(37,20,32,21
:Line(37,20,38,23
:Line(38,20,39,23
:Line(37,20,43,18
:If F=1
:Line(45,25,41,14
:If F=2
:Line(43,17,46,20
:If F=3
:Then
:Line(47,27,41,14
:Pt-On(46,26
:Pt-On(47,25
:End
:If F=4
:Then
:Line(42,16,45,26
:Line(43,21,44,27
:End
:If H=1
:Then
:Line(55,15,65,14
:Line(53,13,67,12
:Line(54,14,53,10
:Line(65,13,70,9
:Line(60,12,64,9
:Line(58,13,58,10
:End
:If H=2
:Then
:Line(58,16,54,12
:Line(62,16,66,20
:Line(62,16,58,16
:Line(60,16,59,19
:Line(61,19,60,16
:Pt-On(60,20
:Line(66,20,63,25
:Line(60,16,60,13
:Line(60,13,58,10
:Line(60,13,62,10
:End
:If H=3
:Then
:Line(55,17,68,14
:Line(68,14,70,17
:Line(68,14,70,10
:Line(64,13,70,10
:Line(55,10,59,13
:Line(59,13,64,13
:Line(54,17,57,19
:Line(56,14,55,11
:Line(53,16,56,14
:Line(53,13,53,15
:Pt-Off(56,17
:End
:If H=4
:Then
:Line(65,20,62,14
:Line(62,14,63,11
:Line(63,11,67,10
:Line(67,10,79,10
:Line(79,10,68,13
:Line(68,13,67,14
:Line(67,14,70,22
:Line(70,22,70,25
:Line(70,25,66,29
:Line(66,29,61,30
:Line(61,30,56,27
:Line(56,27,56,25
:Line(56,27,59,26
:Line(59,26,58,24
:Line(58,24,62,25
:Line(62,25,64,24
:Line(64,24,65,21
:Pt-On(61,27
:End
:If H=5
:Then
:Line(70,35,64,32
:Line(64,32,64,27
:Line(70,30,64,27
:Line(70,30,70,35
:Line(63,35,70,35
:Line(63,35,58,32
:Line(58,32,64,32
:Line(58,32,58,27
:Line(58,29,60,29
:Line(62,29,64,29
:Line(64,29,66,30
:Line(59,26,63,26
:Line(64,24,63,26
:Line(58,26,57,24
:Line(68,28,69,26
:Line(69,26,74,23
:Line(74,23,76,19
:Line(76,19,76,10
:Line(64,24,68,22
:Line(68,22,70,18
:Line(70,18,70,10
:Line(57,24,55,22
:Line(55,22,55,10
:Line(64,17,64,10
:Line(64,17,63,18
:Line(58,17,58,10
:End
:If H=6
:Then
:Circle(70,20,6
:Line(75,25,80,35
:Line(65,25,55,30
:Line(65,15,60,10
:Line(75,15,80,10
:Line(80,35,70,37
:Line(60,10,66,12
:Line(80,10,83,11
:Line(55,30,63,32
:Line(63,32,40,40
:Line(67,20,70,22
:Line(70,22,73,20
:Line(67,20,70,18
:Line(70,18,73,20
:Line(69,20,71,20
:End
:Lbl 3
:Line(1,51,20,51,0
:Line(1,52,20,52,0
:Line(1,53,20,53,0
:Line(1,54,20,54,0
:Line(1,55,20,55,0
:Line(1,1,95,1,0
:Line(1,2,95,2,0
:Line(1,3,95,3,0
:Line(1,4,95,4,0
:Line(1,5,95,5,0
:Line(1,6,95,6,0
:Text(7,1,B
:If B=0
:Then
:Text(57,1,"YOU FAINTED, GOLD WAS LOST."
:Pause
:If D<5
:Then
:ClrHome
:Disp "CANNOT RECOVER"
:For(U,1,100
:End
:ClrHome
:Output(4,4,"GAME OVER"
:Stop
:End
:iPart(D/2)->D
:C->B
:Goto T
:End
:If I<0 or I=0
:Then
:Text(57,1,"THE ENEMY DIED."
:Pause
:ClrHome
:If H=6
:Goto K
:Output(1,1,"GOLD:"
:Output(2,1,"+"
:Output(2,2,M
:D+M->D
:Output(4,1,"SKILL:"
:Output(5,1,"+"
:Output(5,2,N
:E+N->E
:Pause
:If A=1 and E>30 or E=30
:Goto 5
:If A=2 and E>100 or E=100
:Goto 5
:If A=3 and E>200 or E=200
:Goto 5
:If A=4 and E>400 or E=400
:Goto 5
:If A=5 and E>800 or E=800
:Goto 5
:Goto T
:End
:getKey->P
:While P=0
:getKey->P
:End
:If P/=25 and P/=34 and P/=21
:Goto 3
:If P=21
:Then
:ClrHome
:ClrDraw
:Stop
:End
:randInt(1,2)->Z
:If Z=1 and P=34
:Then
:Text(57,1,"YOU ESCAPED"
:Pause
:Goto T
:End
:If Z=2 and P=34
:Then
:Text(57,1,"YOU COULD NOT ESCAPE"
:Pause
:Line(1,1,95,1,0
:Line(1,2,95,2,0
:Line(1,3,95,3,0
:Line(1,4,95,4,0
:Line(1,5,95,5,0
:Line(1,6,95,6,0
:0->K
:Goto 4
:End
:If P=25
:randInt(iPart(G/2),G)->K
:Lbl 4
:randInt(iPart(J/2),J)->L
:randInt(1,7)->O
:If O=1
:Then
:If K/=0
:Text(57,54,"DODGED"
:0->K
:Goto 6
:End
:If K/=0
:Text(57,60,K
:Lbl 6
:randInt(1,6)->O
:If O=1
:Then
:Text(57,24,"DODGED"
:0->L
:Goto 7
:End
:Text(57,32,L
:Lbl 7
:For(U,1,50
:End
:B-L->B
:If B<0
:0->B
:I-K->I
:Goto 3
:Lbl 5
:ClrHome
:For(X,1,3
:For(Y,4,14
:Output(4,4,"LEVEL UP!"
:Output(4,Y,"_"
:For(W,1,20
:End
:End
:End
:A+1->A
:If A=2
:30->C
:If A=3
:60->C
:If A=4
:120->C
:If A=5
:240->C
:If A=6
:450->C
:Goto T
:Lbl K
:Disp "YOU HAVE SAVED","THE LAND FROM","THE EVIL KULROG","AND HIS LEAGUE","OF MONSTERS!!"
:Pause
:ClrHome
:Disp "AS YOU WALK BACK","INTO TOWN, THE TOWNS MEN LIFT","YOU HIGH INTO","THE AIR AS THEY"
:Output(6,1,"..."
:Pause
:ClrHome
:Disp "MAKE YOUR NAME","KNOWN TO ALL","WALKS OF LIFE."
:Pause
:ClrHome
:Disp "YOU HAVE PROVEN","YOUR RIGHT TO","THE TITLE OF:"
:Disp ""
:For (P,1,3
:For(U,1,100
:End
:Output(4,7,"H"
:For(U,1,20
:End
:Output(4,7,"_E"
:For (U,1,20
:End
:Output(4,7,"__R"
:For(U,1,20
:End
:Output(4,7,"____"
:End
:For(U,1,100
:End
:Output(4,7,"HERO"
:FOR(U,1,100
:End
:ClrHome
:Output(4,4,"THE END"

ARCSHOT ESCAPE PLINKO HERO