RANDOMIZE TIMER 'LEVEL. BETWEEN 0.0 TO 1.0 'MORE BIGGER THE NUMBER IS, 'MORE EASIER THE GAME IS. '1.0 IS THE MORE DIFFICULT 'LEVEL. LEVEL=0.6 'INTRO KEYBOARD ON REPEAT PAL RND(7) TEXT 6, 0,"P O N G" UNTIL INKEY$ <> "" KEYBOARD OFF 'INIT GAMEPAD 1 PLAYER_SCORE = 0 AI_SCORE = 0 'ROUND LOOP DO CLS TRJ = RND(3) + 1 BALL_X = 70 BALL_Y = 55 PADDLE1_Y = 50 PADDLE2_Y = 50 ROUND_OVER = 0 'SHOW SCORE PRINT " " + STR$(PLAYER_SCORE) TEXT 16, 0, STR$(AI_SCORE) 'MAIN GAME LOOP: REPEAT 'HAS THE BALL GONE OFF SCREEN? IF SO, WHO WON? IF BALL_X = 0 THEN INC AI_SCORE ROUND_OVER = -1 ELSE IF BALL_X = 152 THEN INC PLAYER_SCORE ROUND_OVER = -1 END IF 'UPDATE TRAJECTORY OF BALL WHEN IT HITS THE EDGES. IF BALL_Y = 0 AND TRJ = 1 THEN TRJ = 3 IF BALL_Y = 0 AND TRJ = 2 THEN TRJ = 4 IF BALL_Y = 120 AND TRJ = 3 THEN TRJ = 1 IF BALL_Y = 120 AND TRJ = 4 THEN TRJ = 2 'TEST FOR BALL COLLISION WITH PLAYER'S PADDLE IF (SPRITE HIT(0, 1) OR SPRITE HIT(0, 2)) AND TRJ = 1 THEN TRJ = 2 IF (SPRITE HIT(0, 1) OR SPRITE HIT(0, 2)) AND TRJ = 3 THEN TRJ = 4 'TEST FOR COLLISION WITH COMPUTER'S PADDLE IF (SPRITE HIT(0, 3) OR SPRITE HIT(0, 4)) AND TRJ = 4 THEN TRJ = 3 IF (SPRITE HIT(0, 3) OR SPRITE HIT(0, 4)) AND TRJ = 2 THEN TRJ = 1 'MOVE THE BALL ACCORDING TO TRAJECTORY IF TRJ = 1 THEN DEC BALL_X DEC BALL_Y ELSE IF TRJ = 2 THEN INC BALL_X DEC BALL_Y ELSE IF TRJ = 3 THEN DEC BALL_X INC BALL_Y ELSE IF TRJ = 4 THEN INC BALL_X INC BALL_Y END IF 'REDRAW BALL SPRITE 0, BALL_X, BALL_Y, 2 'GET PLAYER'S INPUT IF UP(0) AND PADDLE1_Y > 0 THEN DEC PADDLE1_Y IF DOWN(0) AND PADDLE1_Y + 8 < 120 THEN INC PADDLE1_Y 'DRAW PLAYER'S PADDLE SPRITE 1, 0, PADDLE1_Y, 1 SPRITE 2, 0, PADDLE1_Y + 8, 1 'COMPUTER AI: IF PADDLE2_Y > 0 AND BALL_Y < PADDLE2_Y THEN IF RND>LEVEL THEN DEC PADDLE2_Y END IF IF PADDLE2_Y + 8 < 120 AND BALL_Y > PADDLE2_Y THEN IF RND>LEVEL THEN INC PADDLE2_Y END IF 'DRAW COMPUTER'S PADDLE SPRITE 3, 144, PADDLE2_Y, 1 SPRITE 4, 144, PADDLE2_Y + 8, 1 WAIT VBL UNTIL ROUND_OVER LOOP #2:MAIN CHARACTERS 00000000000000000000000000000000 03030303030303030000000000000000 FFFFFFFFFFFFFFFF007E7E7E7E7E7E00