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