Ferramentas do usuário

Ferramentas do site


temas:programacao:fp

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão Ambos lados da revisão seguinte
temas:programacao:fp [2015/10/11 20:39]
phil [4) Funções são cidadãos do primeiro classe]
temas:programacao:fp [2015/10/11 21:19]
phil [E agora, vamos brincar]
Linha 195: Linha 195:
  
 ===== E agora, vamos brincar ===== ===== E agora, vamos brincar =====
 +
 +    #lang racket
 +
 +    (require racket/draw)
 +    (require racket/gui) 
 +
 +    (define target (make-bitmap 400 400)) 
 +    (define dc (new bitmap-dc% [bitmap target]))
 +    (make-object image-snip% target)
 +
 +
 +    (define (:x p) (car p))
 +    (define (:y p) (cadr p))
 +
 +    (define (desenha dc forma cor) 
 +      (send dc set-pen cor 3 'solid)
 +      (if (< (sequence-length forma) 2) '()
 +          (let ([p1 (car forma)]
 +                [p2 (cadr forma)] )
 +            (send dc draw-line (:x p1) (:y p1) (:x p2) (:y p2))
 +            (desenha dc (cdr forma) cor) ) )
 +       )
 +
 +
 +    (define quad1 '( (0 0) (0 100) (100 100) (100 0) (0 0)))
 +    (define quad2 '( (100 200) (100 300) (200 300) (200 200) (100 200)))
 +
 +    (define cena (list quad1 quad2))
 +
 +    (define (repaint dc)
 +        (for ([forma cena])
 +            (desenha dc forma "green")
 +            )
 +        )  
 +
 +    (define frame (new frame%
 +                       [label "Tela"]
 +                       [width 400]
 +                       [height 400]))
 +
 +    (new canvas% [parent frame]
 +                 [paint-callback
 +                  (lambda (canvas dc)
 +                    (repaint dc)
 +                    )])
 +
 +    (send frame show #t)
 +
 +
 +        
 +Obs : Mais informacao dos funcoes do desenha em Racket sao aqui : http://docs.racket-lang.org/draw/overview.html    
 +
temas/programacao/fp.txt · Última modificação: 2017/04/26 20:45 por phil