03-27-2005, 07:40 AM
Ok, It took me about an hour but here is my entry:
Code:
RANDOMIZE TIMER
CLEAR
SCREEN 13
CLS
BX% = 160
BY% = 100
IF INT(RND * (1 - 0 + 1) + 0) THEN x% = -1: ELSE x% = 1
IF INT(RND * (1 - 0 + 1) + 0) THEN y% = -1: ELSE y% = 1
BXV% = INT(RND * (3 - 1 + 1) + 1) * x%
BYV% = INT(RND * (3 - 1 + 1) + 1) * y%
R% = 2
score1% = 0: Score2% = 0
Paddle1X% = 4: Paddle1Y% = 90
Paddle2X% = 300: Paddle2Y% = 90
index% = 0
COLOR 4
PRINT "RULES: GO TO 10 POINTS"
PRINT "IF AI SYSTEM GOES TO A NO-WIN LOOP IT RESETS"
PRINT "PRESS ANY KEY TO CONTINUE"
DO: LOOP WHILE INKEY$ = ""
CLS
DO
IF BXV% < 0 THEN
IF BY% > Paddle1Y% + 10 THEN Paddle1Y% = Paddle1Y% + 2
IF BY% < Paddle1Y% + 10 THEN Paddle1Y% = Paddle1Y% - 2
IF Paddle1Y% + 20 > 199 THEN Paddle1Y% = 199 - 20
IF Paddle1Y% < 0 THEN Paddle1Y% = 0
END IF
IF BXV% > 0 THEN
IF BY% > Paddle2Y% + 10 THEN Paddle2Y% = Paddle2Y% + 2
IF BY% < Paddle2Y% + 10 THEN Paddle2Y% = Paddle2Y% - 2
IF Paddle2Y% + 20 > 199 THEN Paddle2Y% = 199 - 20
IF Paddle2Y% < 0 THEN Paddle2Y% = 0
END IF
BX% = BX% + BXV%
BY% = BY% + BYV%
IF BX% > 319 THEN
CLS
PRINT "POINTPLAYER 1!"
PRINT "PRESS ANY KEY TO CONTINUE"
DO: LOOP WHILE INKEY$ = ""
CLS
BX% = 160: BY% = 100
score1% = score1% + 1
IF INT(RND * (1 - 0 + 1) + 0) THEN x% = -1: ELSE x% = 1
IF INT(RND * (1 - 0 + 1) + 0) THEN y% = -1: ELSE y% = 1
BXV% = INT(RND * (3 - 1 + 1) + 1) * x%
BYV% = INT(RND * (3 - 1 + 1) + 1) * y%
END IF
IF BX% < 0 THEN
CLS
PRINT "POINTPLAYER 2!"
PRINT "PRESS ANY KEY TO CONTINUE"
DO: LOOP WHILE INKEY$ = ""
BX% = 160: BY% = 100
CLS
Score2% = Score2% + 1
IF INT(RND * (1 - 0 + 1) + 0) THEN x% = -1: ELSE x% = 1
IF INT(RND * (1 - 0 + 1) + 0) THEN y% = -1: ELSE y% = 1
BXV% = INT(RND * (3 - 1 + 1) + 1) * x%
BYV% = INT(RND * (3 - 1 + 1) + 1) * y%
END IF
IF BY% > 199 THEN BY% = 199: BYV% = BYV% * -1
IF BY% < 0 THEN BY% = 0: BYV% = BYV% * -1
LINE (Paddle1X%, Paddle1Y%)-STEP(3, 20), 1, BF
LINE (Paddle2X%, Paddle2Y%)-STEP(3, 20), 1, BF
CIRCLE (BX%, BY%), R%, 4
oBX% = BX%: oBY% = BY%
oPaddle1X% = Paddle1X%: oPaddle1Y% = Paddle1Y%
oPaddle2X% = Paddle2X%: oPaddle2Y% = Paddle2Y%
LOCATE 1, 10: COLOR 4: PRINT score1%
LOCATE 1, 30: COLOR 4: PRINT Score2%
doY% = 0
doR% = 0
x2% = Paddle1X%
y2% = Paddle1Y%
IF x2% >= BX% AND x2% <= BX% + 4 THEN doY% = 1
IF x2% + 3 >= BX% AND x2% + 3 <= BX% + 4 THEN doY% = 1
IF BX% >= x2% AND BX% <= x2% + 3 THEN doY% = 1
IF BX% + 4 >= x2% AND BX% + 4 <= x2% + 3 THEN doY% = 1
IF doY% = 1 THEN
IF y2% >= BY% AND y2% <= BY% + 4 THEN doR% = 1
IF y2% + 20 >= BY% AND y2% + 20 <= BY% + 4 THEN doR% = 1
IF BY% >= y2% AND BY% <= y2% + 20 THEN doR% = 1
IF BY% + 4 >= y2% AND BY% + 4 <= y2% + 20 THEN doR% = 1
END IF
IF doR% = 1 THEN
BXV% = BXV% * -1
END IF
doY% = 0
doR% = 0
x2% = Paddle2X%
y2% = Paddle2Y%
IF x2% >= BX% AND x2% <= BX% + 4 THEN doY% = 1
IF x2% + 3 >= BX% AND x2% + 3 <= BX% + 4 THEN doY% = 1
IF BX% >= x2% AND BX% <= x2% + 3 THEN doY% = 1
IF BX% + 4 >= x2% AND BX% + 4 <= x2% + 3 THEN doY% = 1
IF doY% = 1 THEN
IF y2% >= BY% AND y2% <= BY% + 4 THEN doR% = 1
IF y2% + 20 >= BY% AND y2% + 20 <= BY% + 4 THEN doR% = 1
IF BY% >= y2% AND BY% <= y2% + 20 THEN doR% = 1
IF BY% + 4 >= y2% AND BY% + 4 <= y2% + 20 THEN doR% = 1
END IF
IF doR% = 1 THEN
BXV% = BXV% * -1
END IF
WAIT &H3DA, 8
FOR i% = -12000 TO 12000: NEXT i%
LINE (oPaddle1X%, oPaddle1Y%)-STEP(3, 20), 0, BF
LINE (oPaddle2X%, oPaddle2Y%)-STEP(3, 20), 0, BF
CIRCLE (oBX%, oBY%), R%, 0
index% = index% + 1
IF index% >= 5000 THEN
CLS
PRINT "TIMEOUTRESET"
PRINT "PRESS ANY KEY TO CONTINUE"
DO: LOOP WHILE INKEY$ = ""
CLS
index% = 0
BX% = 160: BY% = 100
IF INT(RND * (1 - 0 + 1) + 0) THEN x% = -1: ELSE x% = 1
IF INT(RND * (1 - 0 + 1) + 0) THEN y% = -1: ELSE y% = 1
BXV% = INT(RND * (3 - 1 + 1) + 1) * x%
BYV% = INT(RND * (3 - 1 + 1) + 1) * y%
END IF
LOOP UNTIL score1% >= 10 OR Score2% >= 10
CLS
IF score1% > Score2% THEN
PRINT "PLAYER 1 WINS!"
ELSE
IF score1% < Score2% THEN
PRINT "PLAYER 2 WINS!"
ELSE
PRINT "TIE!"
END IF
END IF
END
i]"But...it was so beautifully done"[/i]