anchor.diff:         (glVertex2f WIDTH i))
         (iota 0 1 HEIGHT))
      (glEnd)
  -   (glEnd))
   
      
      
  
positive.code:    ; пол (как травку)
     (BindTexture grass-texture)
     (glBegin GL_QUADS)
     (for-each (lambda (i)
        (for-each (lambda (j)
           (if (= (at i j) 0)
              (let ((c (+
                          (if (is-point-can-see-point i j             x y) 0.25 0)
                          (if (is-point-can-see-point (+ i 1) j       x y) 0.25 0)
                          (if (is-point-can-see-point (+ i 1) (+ j 1) x y) 0.25 0)
                          (if (is-point-can-see-point i (+ j 1)       x y) 0.25 0))))
                 (glColor3f c c c)
                 (quadT i j))))
           (iota 0 1 HEIGHT)))
        (iota 0 1 WIDTH))
     (glEnd)
     (glDisable GL_TEXTURE_2D)
  
  
negative.code:    
     ; осмотр себя любимого на N клеток вокруг
     ;#|
     (let ((ms (get userdata 'mouse #f)))
     (if ms (begin
        (glPointSize 4.0)
        (glColor3f 0 0 1)
        (glBegin GL_POINTS)
        (glVertex2f (car ms) (cdr ms))
        (glEnd)
     )))
     (let ((me (get-mouse-pos))
           (N 2))
     (glColor3f 0 1 0)
     (glBegin GL_LINES)
     (let lookout ((n 0)  (x (+ (floor (car me)) 0.5)) (y (+ (floor (cdr me)) 0.5)))
        (if (= n N)
           #t
  