TGC Codebase Backup



Ball Blocker by Anonymous Coder

29th Aug 2009 14:03
Summary

I designed this game to kill some time. Feel free to make comments or changes.



Description

I designed this game to kill some time. Feel free to make comments or changes.



Code
                                    ` This code was downloaded from The Game Creators
                                    ` It is reproduced here with full permission
                                    ` http://www.thegamecreators.com
                                    
                                    SYNC ON
SYNC RATE 100
HIDE MOUSE

GOSUB LOADING

GOSUB SETUP

`MAIN LOOP
DO
GOSUB PLAYERCONTROLS
GOSUB BALLCONTROLS

SYNC
LOOP

LOADING:
SET TEXT FONT "ARIAL"
SET TEXT SIZE 24
SET TEXT TO BOLD
SET TEXT TRANSPARENT
SYNC:CENTER TEXT SCREEN WIDTH()/2,SCREEN HEIGHT()/2,"LOADING":SYNC
RETURN
SETUP:
`BOTTOM
MAKE OBJECT BOX 2,1500,0,10
POSITION OBJECT 2,0,0,-300
SET OBJECT COLLISION TO BOXES 2

`RIGHT
MAKE OBJECT BOX 3,10,0,1500
POSITION OBJECT 3,535,0,0
SET OBJECT COLLISION TO BOXES 3

`LEFT
MAKE OBJECT BOX 4,10,0,1500
POSITION OBJECT 4,-535,0,0
SET OBJECT COLLISION TO BOXES 4
`TOP
MAKE OBJECT BOX 1,1500,0,1000
POSITION OBJECT 1,0,0,775
POINT OBJECT 1,0,0,-1000
SET OBJECT COLLISION TO BOXES 1

MAKE OBJECT BOX 10,75,0,10
POSITION OBJECT 10,0,0,-275

MAKE OBJECT SPHERE 20,10,10,10
POSITION OBJECT 20,-100,0,0
POINT OBJECT 20,0,0,RND(500)
SET OBJECT COLLISION TO SPHERES 20

S#=0
SS#=5


POSITION CAMERA 0,500,0
POINT CAMERA 0,0,0
RETURN

PLAYERCONTROLS:
PX# = OBJECT POSITION X(10)
IF RIGHTKEY ()=1 THEN POSITION OBJECT 10 ,PX#+10,0,-275
IF LEFTKEY ()=1 THEN POSITION OBJECT 10 ,PX#-10,0,-275
IF OBJECT COLLISION (10,3) THEN POSITION OBJECT 10,PX#,0,-275
IF OBJECT COLLISION (10,4) THEN POSITION OBJECT 10,PX#,0,-275
SET CURSOR 100,700
PRINT (S#)
Z# = OBJECT POSITION Z(1)
RETURN

BALLCONTROLS:
AY# = OBJECT ANGLE Y (20)
BX# = OBJECT POSITION X(20)
BZ#= OBJECT POSITION Z(20)

MOVE OBJECT 20,SS#
IF OBJECT COLLISION (20,4) THEN YROTATE OBJECT 20,WRAPVALUE (360-AY#)
IF OBJECT COLLISION (20,3) THEN YROTATE OBJECT 20,WRAPVALUE (360-AY#)
IF OBJECT COLLISION (20,1) THEN GOSUB SCORE
IF OBJECT COLLISION (20,2) THEN GOSUB RESET
IF OBJECT COLLISION (20,10) THEN YROTATE OBJECT 20,WRAPVALUE (180-AY#)
RETURN

SCORE:
YROTATE OBJECT 20,WRAPVALUE (180-AY#)
POSITION OBJECT 20,BX#,0,BZ#-10
POSITION OBJECT 1,0,0,Z#-10
S#=S#+1
SS#=SS#+1
RETURN

RESET:
POSITION OBJECT 1,0,0,775
POSITION OBJECT 10,0,0,-275
POSITION OBJECT 20,-100,0,0
POINT OBJECT 20,RND(500),0,RND(500)
S#=0
SS#=5
RETURN