PROC bounce: LOCAL posX%,posY%,changeX%,changeY%,k% LOCAL scrx%,scry%,info%(10) SCREENINFO info%() scrx%=info%(3) :scry%=info%(4) posX%=1 :posY%=1 changeX%=1 :changeY%=1 DO posX%=posX%+changeX% posY%=posY%+changeY% IF posX%=1 OR posX%=scrx% changeX%=-changeX% REM at edge ball changes direction BEEP 2,600 REM low beep ENDIF IF posY%=1 or posY%=scry% REM same for y changeY%=-changeY% BEEP 2,200 REM high beep ENDIF AT posX%,posY% :PRINT "0"; PAUSE 2 REM Try changing this AT posX%,posY% :PRINT " "; REM removes old 0 character k%=KEY UNTIL k% ENDP