home *** CD-ROM | disk | FTP | other *** search
/ C++ Games Programming / CPPGAMES.ISO / fgl / fglight / exbas.arj / TEMP / 12-04.BAS < prev    next >
BASIC Source File  |  1995-01-20  |  1KB  |  77 lines

  1. REM $INCLUDE: 'fastgraf.bi'
  2.  
  3. DEFINT A-Z
  4.  
  5. DIM Xmin(12), Ymax(12)
  6.  
  7. CONST Visual = 0
  8. CONST Hidden = 1
  9.  
  10. SetMemStatus& = SETMEM(-1*(64000+16))
  11.  
  12. REM Xmin values
  13. DATA  0, 96,192,  0, 96,192,  0, 96,192,  0, 96,192
  14.  
  15. REM Ymax values
  16. DATA 49, 49, 49, 99, 99, 99,149,149,149,199,199,199
  17.  
  18. REM initialize the video environment
  19.  
  20. NewMode = FGbestmode(320,200,2)
  21. IF NewMode < 0 OR NewMode = 12 THEN
  22.    PRINT "This program requires a 320 x 200 color graphics mode."
  23.    STOP
  24. END IF
  25. OldMode = FGgetmode
  26. FGsetmode NewMode
  27. Status = FGallocate(Hidden)
  28.  
  29. REM fill the Xmin and Ymax arrays
  30.  
  31. FOR I = 0 TO 11
  32.    READ Xmin(I)
  33. NEXT
  34. FOR I = 0 TO 11
  35.    READ Ymax(I)
  36. NEXT
  37.  
  38. REM draw the background in the upper left corner
  39.  
  40. FGsetpage Hidden
  41. FGsetcolor 1
  42. FGrect 0, 95, 0, 49
  43. FGsetcolor 15
  44. FGmove 48, 25
  45. FGellipse 20, 20
  46.  
  47. REM display the animated object against each background
  48.  
  49. FGsetcolor 10
  50. Offset = -10
  51. FOR I = 1 TO 11
  52.    X = Xmin(I)
  53.    Y = Ymax(I)
  54.    FGtransfer 0, 95, 0, 49, X, Y, Hidden, Hidden
  55.    FGsetclip X, X+95, 0, 199
  56.    FGclprect X+Offset, X+Offset+19, Y-29, Y-20
  57.    Offset = Offset + 10
  58. NEXT
  59.  
  60. REM slide the object across the background three times
  61.  
  62. FOR I = 0 TO 35
  63.    Frame = I MOD 12
  64.    X = Xmin(Frame)
  65.    Y = Ymax(Frame)
  66.    FGtransfer X, X+95, Y-49, Y, 112, 124, Hidden, Visual
  67.    FGwaitfor 2
  68. NEXT
  69.  
  70. REM restore the original video mode and return to DOS
  71.  
  72. Status = FGfreepage(Hidden)
  73. FGsetmode OldMode
  74. FGreset
  75.  
  76. END
  77.