home *** CD-ROM | disk | FTP | other *** search
/ C++ Games Programming / CPPGAMES.ISO / fgl / fglight / exfor.arj / TEMP / 06-12.FOR < prev    next >
Text File  |  1995-01-20  |  1KB  |  64 lines

  1. $INCLUDE: 'C:\FG\FASTGRAF.FI'
  2.  
  3.       PROGRAM MAIN
  4.  
  5.       INTEGER RECTANGLES
  6.       PARAMETER (RECTANGLES=200)
  7.  
  8.       INTEGER I
  9.       INTEGER MINX, MAXX, MINY, MAXY
  10.       INTEGER OLD_MODE
  11.       INTEGER XRES, YRES
  12.       INTEGER FG_AUTOMODE, FG_GETMAXX, FG_GETMAXY, FG_GETMODE
  13.       INTEGER RANDOM
  14.  
  15.       CALL FG_INITPM
  16.       OLD_MODE = FG_GETMODE()
  17.       CALL FG_SETMODE(FG_AUTOMODE())
  18.       CALL FG_BOXDEPTH(3,3)
  19.  
  20.       XRES = FG_GETMAXX()
  21.       YRES = FG_GETMAXY()
  22.  
  23.       DO 10 I = 1,RECTANGLES
  24.          MINX = RANDOM(0,XRES)
  25.          MAXX = RANDOM(0,XRES)
  26.          MINY = RANDOM(0,YRES)
  27.          MAXY = RANDOM(0,YRES)
  28.          IF (MINX .GT. MAXX) CALL SWAP(MINX,MAXX)
  29.          IF (MINY .GT. MAXY) CALL SWAP(MINY,MAXY)
  30.          CALL FG_SETCOLOR(RANDOM(0,15))
  31.          CALL FG_BOX(MINX,MAXX,MINY,MAXY)
  32. 10    CONTINUE
  33.  
  34.       CALL FG_SETMODE(OLD_MODE)
  35.       CALL FG_RESET
  36.  
  37.       STOP ' '
  38.       END
  39.  
  40.       INTEGER FUNCTION RANDOM(MIN,MAX)
  41.  
  42.       INTEGER MIN, MAX
  43.       INTEGER SEED, TEMP
  44.  
  45.       DATA SEED /12345/
  46.  
  47.       TEMP = IEOR(SEED,ISHFT(SEED,-7))
  48.       SEED = IAND(IEOR(ISHFT(TEMP,8),TEMP),#7FFF)
  49.       RANDOM = MOD(SEED,MAX-MIN+1) + MIN
  50.  
  51.       RETURN
  52.       END
  53.  
  54.       SUBROUTINE SWAP(VAR1,VAR2)
  55.       INTEGER VAR1, VAR2
  56.       INTEGER TEMP
  57.  
  58.       TEMP = VAR1
  59.       VAR1 = VAR2
  60.       VAR2 = TEMP
  61.  
  62.       RETURN
  63.       END
  64.