      INCLUDE 'GRAFTYPE.FOR'
      RECORD /WorldRect/ wr
      INTEGER i

      CALL tInit3

      CALL Init3D( -1, 'C:\FOR\LIB\*.FON')

      CALL SetWorldRect(wr, -10.0, -10.0, 10.0, 10.0)
      CALL SetWorldCoordinates(wr)

      CALL WorldScale3(1.0, 1.0, 2.0)
      CALL WorldRotate3(10.0, 0)
      CALL WorldRotate3(10.0, 1)
      DO i = 0, 15
        CALL SelectColor(4)
        CALL WorldRotate3(10.0, 0)
        CALL drawhouse
        CALL delay()
        CALL SelectColor(0)
        CALL DrawHouse
      END DO
      END

      SUBROUTINE delay()
      INTEGER i,j
      DO i = 1, 30000
        DO j = 1, 30000
        END DO
      END DO
      END !SUBROUTINE
      SUBROUTINE drawhouse()

      CALL Move3Abs(1.0, 1.0, 1.0)
      CALL Line3Abs(1.0, 1.0, -1.0)
      CALL Line3Abs(1.0, -1.0, -1.0)     !{right side}
      CALL Line3Abs(1.0, -1.0, 1.0)
      CALL Line3Abs(1.0, 1.0, 1.0)

      CALL Move3Abs(-1.0, 1.0, 1.0)
      CALL Line3Abs(-1.0, 1.0, -1.0)
      CALL Line3Abs(-1.0, -1.0, -1.0)     !{left side}
      CALL Line3Abs(-1.0, -1.0, 1.0)
      CALL Line3Abs(-1.0, 1.0, 1.0)

      CALL Move3Abs(1.0, 1.0, 1.0)        ! {front top}
      CALL Line3Abs(-1.0, 1.0, 1.0)

      CALL Move3Abs(1.0, -1.0, 1.0)
      CALL Line3Abs(-1.0, -1.0, 1.0)      ! {front bottom}
      CALL Move3Abs(1.0, 1.0, -1.0)       ! {back top}
      CALL Line3Abs(-1.0, 1.0, -1.0)

      CALL Move3Abs(1.0, -1.0, -1.0)      !  {back bottom}
      CALL Line3Abs(-1.0, -1.0, -1.0)

      CALL Move3Abs(1.0, 1.0, 1.0)
      CALL Line3Abs(0.0, 1.5, 1.0)      ! {roof}
      CALL Line3Abs(-1.0, 1.0, 1.0)

      CALL Move3Abs(1.0, 1.0, -1.0)
      CALL Line3Abs(0.0, 1.5, -1.0)
      CALL Line3Abs(-1.0, 1.0, -1.0)

      CALL Move3Abs(0.0, 1.5, 1.0)
      CALL Line3Abs(0.0, 1.5, -1.0)

      END !SUBROUTINE

