Имитация ускорения свободного падения в целых числах


'/////////////////////////////////////////////////////////////////////
'
' File    : BALLJUMP.BAS
' Source  : Quick Basic, v4.5
' Checked : MSDOS-6.22
'
' Igor Salnikov, Copyright(C), 1995
'
'/////////////////////////////////////////////////////////////////////

DEFINT A-Z
SCREEN 13
Ball
SCREEN 0: END

DEFSNG A-Z
SUB Ball

y = 170: x = 10
v = 0: k = 1
DO
  CIRCLE (x, 200 - y), 4, 15
  MakePause 2
  CIRCLE (x, 200 - y), 4, 0
  v = v - .1
  x = x + k
  y = y + v
  IF x < 10 OR x > 310 THEN k = -k
  IF y <= 10 OR y >= 190 THEN
    SOUND 300, 1
    v = -v
    y = y + v
  END IF
LOOP WHILE INKEY$ = ""

END SUB

DEFINT A-Z
'/////////////////////////////////////////////////////////////////////
' Эта процедура делает задержку. [Tic = 1/10 тика (Тик = 18.2 сек)]
'/////////////////////////////////////////////////////////////////////
SUB MakePause (Tic)
  FOR n = 1 TO Tic
    SOUND 32767, .1
  NEXT
END SUB