RACKET-ohjelmointia

RACKET

Alla on pari ideaa selityksineen siitä miten helposti saa define toiminnolla selkeytettyä koodia ja miten rotate toimii.
Tee oma kuviosi, jossa käytät define käskyä ja mahdollisimman monipuolisesti muita käskyjä.

(require 2htdp/image)
;; Kukka overlay/xy:n ja definen avulla:
;; aluksi määritellään millainen on lehti:
(define LEHTI1 (ellipse 60 20 "solid" "magenta"))
;;tämän jälkeen laitetaan kaksi lehteä vierekkäin overlay/xy:n avulla
(define LEHDET1 (overlay/xy LEHTI1 100 0 LEHTI1))
;; sitten laitetaan päällekkäin lehdet ja kierretään lehtiä 90 astetta, saadaan 4 lehteä
(define KUKKA1 (overlay LEHDET1 (rotate 90 LEHDET1)))
;; lopuksi kierretään vielä 45 astetta, niin saadaan 8 lehteä.
(define ISOKUKKA1 (overlay KUKKA1 (rotate 45 KUKKA1)))
ISOKUKKA1
;; voit stepperillä lopuksi tarkistaa, että miten rakenne toimii.
;;määritellään vielä ISOKUKKA1 uudelleen A:ksi, niin se on lyhyempi ja kukkia vierekkäin.
(define A ISOKUKKA1)
;;kukkia vierekkäin
(beside A A A A A A )
;;pieni kukka isomman kukan sisälle 0.2 on kerroin kukan koolle
(define B (overlay A (scale 0.2 A)))
B

;;määritellään ympyrä
(define YMP (circle 30 "solid" "black"))
;;laitetaan overlay/xy:n avulla kaksi ympyrää vierekkäin
(define YMP2 (overlay/xy YMP 100 0 YMP))
;;tulostetaan 2 ympyrää
YMP2
;;kierretään 2 ympyrää 90 astetta ja määritellään se C:ksi
(define C (overlay YMP2 (rotate 90 YMP2)))
C

Sinulla ei ole tarvittavia oikeuksia lähettää mitään.