DC~Planet Logo


[Home] [Games] [FAQ] [Tutorials] [Forum] [Chat] [Contact] [Search]



Games

Welcome to the Games page. I have provided a number of games which I have gone and created. Although there are some problems with putting the code onto the Web page. I have provided a key of commands below. If any of these programs do not work, please contact me and I will try and solve the problem. But remember that these programs are only compatible with TI-83's and TI-83+. If you would like to submit a game of your own please go to the contact section. Any games would be grateful. If you would like to learn how to create games of your own, please visit the tutorials section. As you have noticed all of these are meant for people who don't have a cable to connect to the computer to download games. As I have the same problem. Please have fun with these codes!

TI-83 symbolMy symbol
Key->
Key>=
Key<=
Key/=
Key&
Keyø

[PONG ~ ARCSHOT ~ SKATE QUEST ~ ASTEROIDS ~ SNAKE]



PONG




This is the ancient game of bat and ball, but adapted for one player. Use the up and down cursor keys, you are the bat on the left. I did write a two-player version using the link cable but it wasn't very good. This one's much better. Oh yes, and you can win, the calculator has a bit of wobble on its bat...

Listing


GDB 3 as described below will be required.



PROGRAM:PONG :RecallGDB 3
:ClrDraw
:DispGraph
:50->V
:50->W
:50->X
:50->Y
:6->A
:4->U
:10->H
:Lbl 1
:X->O
:Y->P
:W->R
:V->S
:Pt-On(O,P,2)
:Pt-On(2,R,2)
:Pt-On(102,S,2)
:getKey->Q
:If Q=25
:W+4->W
:If Q=34
:W-4->W
:If V<Y
:V+4+randInt(-2,2)->V
:If V>Y
:V-4+randInt(-2,2)->V
:X+A->X
:Y+U->Y
:If Y>=102 or Y<=2
:-U->U
:If X>=102 and Y>=V-H and Y<=V+H
:-A+randInt(-2,2)->A
:If X<=2 and Y>=W-H and Y<=W+H
:-A+randInt(-2,2)->A
:If X<=-10 or X>=114
:Goto 2
:Pt-Off(O,P,2)
:Pt-Off(2,R,2)
:Pt-Off(102,S,2)
:Goto 1
:Lbl 2
:If X<0
:Then
:Disp "GAME OVER","YOU LOST :-("
:Else
:Disp "GAME OVER","YOU WON :-)"
:End


ARCSHOT


This is a really good game. The object is to hit the target (*The Name of the Game*).

Listing



 

PROGRAM:ARCSHOT

: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
: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 underscores]
: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

SKATE QUEST



This was my very first game. It is a text/menu based game. It allows you to visit the Skate Shop and go Skate Places. Hopefully updates will be made to it. If you think text games are boring well then don't copy this one.

Listing



 

PROGRAM:SKATEQUEST :0->X
:Output(3,6,"WECOME")
:Output(4,8,"TO")
:Output(5,5,"SK8 QUEST")
:For(D,0,1000,1)
:End
:ClrHome
:Menu("WHERE TO GO","SKATE",A,"INFO",B,"QUIT",C)
:Lbl B
:Output(3,5,"MADE BY:")
:Output(4,3,"D.CERVANTES")
:For(D,0,1500,10
:End
:ClrHome
:Lbl A
:Menu("WHAT TO DO...","SKATE PLACES",E,"SKATE SHOP",F,"MUNCHIES",G,"QUIT",C)
:Lbl E
:randInt(1,10)->Ø
:Menu("SKATE PLACES","CHURCH",H,"BIG DROP",I,"APARTMENTS",J,"BACK",A)
:Lbl H
:If Ø/=5
:Then
:Output(1,1,"YOU JUST CLEARED A 12 SET")
:Output(5,1,"YOU EARNED 10 DOLLARS")
:X+10->X
:Else
:Output(1,1,"YOU BROKE YOUR BOARD.")
:End
:For(D,0,1500,1)
:End
:ClrHome
:Goto E
:Lbl I
:If Ø/=5
:Then
:Output(1,1,"YOU JUST OLLIED THE BIG DROP!")
:Output(5,1,"YOU EARNED 25 DOLLARS")
:X+25->X
:Else
:Output(1,1,"YOU BROKE YOUR BOARD.")
:End
:For(D,0,1500,1)
:End
:ClrHome
:Goto E
:Lbl J
:If Ø/=5
:Then
:Output(1,1,"YOU FOUND A CEMENT HALF-PIPE AND SKATED VERT FOR A DAY")
:Output(5,1,"YOU EARNED 33 DOLLARS!")
:X+33->X
:Else
:Output(1,1,"YOU BROKE YOUR BOARD.")
:End
:For(D,0,2000,1)
:End
:ClrHome
:Goto E
:Lbl G
:If X>5
:Then
:Output(1,1,"YOU JUST BOUGHT A BAG OF CHIPS AND A SLURPY.")
:Output(6,1,"YOU SPENT 5 DOLLARS")
:X-5->X
:For(D,0,1500,1)
:End
:ClrHome
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY")
:For(D,0,1000,1)
:End
:ClrHome
:End
:Goto A
:Lbl F
:Menu("SKATE SHOP","BOARDS",N,"TRUKS",O,"WHEELS",P,"BEARINGS",Q,"BACK",A)
:Lbl N
:Menu("BOARDS","BLIND",R,"DARKSTAR",S,"POWELL",T,"BACK",F)
:Lbl R
:If X>=50
:Then
:Output(1,1,"YOU BOUGHT A BLIND.")
:Output(5,1,"YOU SPENT 50 DOLLARS.")
:X-50->X
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY.")
:End
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl S
:If X>=50
:Then
:Output(1,1,"YOU BOUGHT A DARKSTAR.")
:Output(5,1,"YOU SPENT 50 DOLLARS.")
:X-50->X
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY.")
:End
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl T
:If X>=50
:Then
:Output(1,1,"YOU BOUGHT A POWELL.")
:Output(5,1,"YOU SPENT 50 DOLLARS.")
:X-50->X
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY.")
:End
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl Q
:Menu("BEARINGS","SPEED DEMONS",U,"BLACK BONES",V,"PIGS",W,"BACK",F)
:Lbl U
:If X>=30
:Then
:Output(1,1,"YOU BOUGHT SPEED DEMONS FOR 30 DOLLARS.")
:X-30->X
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY.")
:End
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl V
:If X>=30
:Then
:Output(1,1,"YOU BOUGHT BLACK BONES FOR 30 DOLLARS.")
:X-30->X
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY.")
:End
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl W
:If X>=30
:Then
:Output(1,1,"YOU BOUGHT PIGS FOR 30 DOLLARS.")
:X-30->X
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY.")
:End
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl O
:Menu("TRUKS","DESTRUCTO",Y,"VENTURES",Z,"ORIONS",M,"BACK",F)
:Lbl Y
:If X>=30
:Then
:Output(1,1,"YOU HAVE BOUGHT DESTRUCTO TRUKS.")
:Output(5,1,"30 DOLLARS")
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY")
:End
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl Y
:If X>=30
:Then
:Output(1,1,"YOU HAVE BOUGHT VENTURE TRUKS.")
:Output(5,1,"30 DOLLARS")
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY")
:End
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl Y
:If X>=30
:Then
:Output(1,1,"YOU HAVE BOUGHT ORION TRUKS.")
:Output(5,1,"30 DOLLARS")
:Else
:Output(1,1,"YOU DONT HAVE ENOUGH MONEY")
:End
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl p
:Output(1,1,"SORRY ALL OUT.")
:For(D,0,1000,1)
:End
:ClrHome
:Goto F
:Lbl
:Output(4,4,"SEE YA!")
:For(D,0,1000,1)
:End
:ClrHome
:Stop

ASTEROID



In this game, you must fly through the asteroid storm without hitting any of them. You have only one control: any key will make you change direction. The difficulty level controls how far down the screen your ship is displayed, and thus how much reaction time you are allowed.

Listing

 

PROGRAM:ASTEROID

 

:Input "DIFFICULTY(2-7)",Q
:If Q<2
:2->Q
:If Q>7
:7->Q
:8->X
:1->A
:0->S
:{0,0,0,0,0,0,0,0}->&AST
;ClrHome
:Disp " "," "," "," "," "," "," "
:Lbl 1
:If S<190
:Then
:randInt(1,16)->N
:Else
:0->N
:End
:7->dim(&AST)
:augment({N},&AST)->&AST
:If N=0
:Then
:" "->Str1
:Goto 5
:End
:If N=1
:Then
:"ø"->Str1
:Else
:sub("(15 spaces here)",1,N-1)+"ø"->Str1
:End
:Lbl 5
:If getKey/=0
:-A->A
:S+1->S
:X+A->X
:If X>16
:Then
:15->X
:-A->A
:End
:If X<1
:Then
:2->X
:-A->A
:End
:Output(Q,X,"V")
:Output(2,1,S)
:Disp Str1
:If X=&AST(9-Q)
:Goto 2
:If S=205
:Goto 3
:Goto 1
:Lbl 2
:Output(Q-1,X,"*")
:For (U,1,1000)
:End
:Disp "DEAD","SCORE",S
:Stop
:Lbl 3
:Disp "WELL DONE"

SNAKE



This is the classic game in which you direct the snake towards the apple, but with every apple the snake eats, it grows longer. If you crash into the walls, or into the snake itself, the snake dies. The apple flashes, and may appear on the snake itself, in which case you must delay until the snake's tail clears the point where the apple has appeared. The program prompts for a difficulty level at the beginning, this is the amount the snake grows with each apple. Your final score is the number of apples eaten.

 

Listing



PROGRAM:SNSHIFT

:0->Z
:If pxl-Test(X,Y)
:1->Z
:Pxl-On(X,Y)
:dim(&SNX)->L
:Pxl-Off(&SNX(L),&SNY(L))
:If Z=1
:Then
:For(A,L,2,-1)
:If abs(X-&SNX(A))<2 and abs(Y-&SNY(A))<2
:Goto 3
:End
:End
:L-1->dim(&SNX)
:L-1->dim(&SNY)
:augment({X},&SNX)->&SNX
:augment({Y},&SNY)->&SNY
:Return
:Lbl 3
:Disp "DEAD","SCORE",S
:Stop





PROGRAM:SNSHFTX

:0->Z
:If pxl-Test(X,Y)
:1->Z
:Pxl-On(X,Y)
:dim(&SNX)->L
:If Z=1 and P=0
:Then
:For(A,L,2,-1)
:If abs(X-&SNX(A))<2 and abs(Y-&SNY(A))<2
:Goto 3
:End
:End
:augment({X},&SNX)->&SNX
:augment({Y},&SNY)->&SNY
:If P=1
:Then
:If X/=V or Y/=W
:Pxl-Off(V,W)
:randInt(3,59)->V
:randInt(3,91)->W
:Pxl-On(V,W)
:S+1->S
:0->P
:End
:Return
:Lbl 3
:Disp "DEAD","SCORE",S
:Stop





PROGRAM:SNAKE

 

:Lbl 5
:Disp "DIFFICULTY(1-20)"
:Prompt Q
:If Q<1
:Goto 5
:RecallGDB 3
:DispGraph
:ClrDraw
:Line(3,3,3,101)
:Line(3,3,101,3)
:Line(3,101,101,101)
:Line(101,3,101,101)
:{30}->&SNX
:{40}->&SNY
:1->J
:30->X
:42->Y
:2->V
:2->W
;1->P
:prgmSNSHFTX
:44->Y
:0->S
:prgmSNSHIFT
:2->R
:0->U
:0->T
:Lbl 1
:If J=0
:Then
:1->J
:Pxl-Off(V,W)
:Else
:J+1->J
:Pxl-On(V,W)
:End
:If J=4
:0->J
:getKey->K
:If K=25 and U=0
:Then
:0->R
:2->U
:End
:If K=24 and R=0
:Then
:0->U
:-2->R
:End
:If K=26 and R=0
:Then
:2->R
:0->U
:End
:If K=34 and U=0
:Then
:-2->U
:0->R
:End
:X-U->X
:Y+R->Y
:If Y>92 or Y<1 or X>61 or X<2
:Goto 2
:If (abs(X-V)<=1 and abs(Y-W)<=1)
:Then
:T+Q->T
:1->P
:Else
:If T=0
:prgmSNSHIFT
:End
:If T/=0
:Then
:T-1->T
:prgmSNSHFTX
:End
:Goto 1
:Lbl 2
:Disp "DEAD","SCORE",S





GDB 3
Window settings
Xmin=2
Xmax=102
Xscl=10
Ymin=2
Ymax=102
Yscl=5
Xres=1


Format settings
RectGC
CoordOn
GridOff
AxesOff
LabelOff
ExprOn

All graphs off
If you have any problems with any of the above games, feel free to contact me whenever. I check my E-Mail daily and will try to get back to you as soon as possible. Updates and more games will hopefully be coming in the near future. Please check back soon.




Maintained by D.Cervantes. All Rights Reserved. Copyright2002.