i thought i'd have a go at starting on some AI, well ok so where did i start? pong ofcourse but as i didn't want it to be overly easy for me i made it a bit of a challege, i did it in 20 lines, been done hundreds of times before i know but we've all gotta learn somewhen/somehow....
anyway here's the game.
SET DISPLAY MODE 800,600,32 : SYNC ON : SYNC RATE 30 : HIDE MOUSE : AUTOCAM OFF : POSITION CAMERA 0,0,-8 : BACKDROP ON : COLOR BACKDROP RGB(0,0,0)
RESTART: : MAKE OBJECT BOX 1,1,3,0 : SET OBJECT COLLISION ON 1 : MAKE OBJECT COLLISION BOX 1,-0.5,-1.5,-.5,.5,1.5,.5,0 : CLONE OBJECT 2,1
MAKE OBJECT SPHERE 3,1 : POSITION OBJECT 1,-5,0,0 : POSITION OBJECT 2,5,0,0 : POSITION OBJECT 3,0,0,0
ZROTATE OBJECT 3,270 : FIX OBJECT PIVOT 3 : MAKE OBJECT COLLISION BOX 3,-0.5,-0.5,-0.5,0.5,0.5,0.5,1 : SCALE OBJECT 3,50,50,50 : COLOR OBJECT 1,RGB(200,20,20) : COLOR OBJECT 2,RGB(20,20,200) : COLOR OBJECT 3,RGB(20,200,20)
DO : RANDOMIZE TIMER()
INK RGB(200,20,20),0 : TEXT 0,0,"PLAYER SCORE = "+STR$(PLAYER_SCORE) : INK RGB(20,20,200),0 : TEXT 0,20,"COMPUTER SCORE = "+STR$(COMPUTER_SCORE) : INK RGB(255,255,20),0
IF UPKEY() AND OBJECT POSITION Y(1)<3 THEN MOVE OBJECT UP 1,0.5
IF DOWNKEY() AND OBJECT POSITION Y(1)>-3 THEN MOVE OBJECT DOWN 1,0.5
IF RND(15)=0
IF OBJECT POSITION Y(3)<OBJECT POSITION Y(2) AND OBJECT POSITION Y(2)>-3 THEN MOVE OBJECT DOWN 2,1
IF OBJECT POSITION Y(3)>OBJECT POSITION Y(2) AND OBJECT POSITION Y(2)<3 THEN MOVE OBJECT UP 2,1
ENDIF
IF OBJECT POSITION Y(3)>4 OR OBJECT POSITION Y(3)<-4 THEN ROTATE OBJECT 3,0,0,WRAPVALUE(OBJECT ANGLE Z(3)-45) : MOVE OBJECT LEFT 3,RND(2)
IF OBJECT COLLISION(3,0) THEN ROTATE OBJECT 3,0,WRAPVALUE(OBJECT ANGLE Y(3)-180),WRAPVALUE(OBJECT ANGLE Z(3)-45) : MOVE OBJECT LEFT 3,2
IF OBJECT POSITION X(3)<-6 THEN POSITION OBJECT 3,0,0,0 : POSITION OBJECT 1,-5,0,0 : POSITION OBJECT 2,5,0,0 : ZROTATE OBJECT 3,RND(180) : SYNC : WAIT 1000 : INC COMPUTER_SCORE
IF OBJECT POSITION X(3)>6 THEN POSITION OBJECT 3,0,0,0 : POSITION OBJECT 1,-5,0,0 : POSITION OBJECT 2,5,0,0 : ZROTATE OBJECT 3,RND(180) : SYNC : WAIT 1000 : INC PLAYER_SCORE
ZROTATE OBJECT 3,OBJECT ANGLE Z(3)+RND(2)+RND(1)+RND(1) : MOVE OBJECT LEFT 3,0.25
IF PLAYER_SCORE>9 THEN CLS : SET TEXT SIZE 30 : CENTER TEXT 400,280,"YOU WIN" : SYNC : WAIT 4000 : END
IF COMPUTER_SCORE>9 THEN CLS : SET TEXT SIZE 30 : CENTER TEXT 400,280,"YOU LOST" : SYNC : WAIT 4000 : END
SYNC : LOOP
p.s. made in dbpro (incase u missed that)
life's one big game