EPOC   SDK Home Glossary   Previous Next Up

Bounce — Displays a bouncing ball

    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
EPOC       SDK Home Glossary   Previous Next Up