Last active
May 19, 2020 14:45
-
-
Save CSchank/66643e3d4b853109414a30b7e815dc47 to your computer and use it in GitHub Desktop.
Many different hearts in Elm, using functions!!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
myShapes model = [ | |
{- | |
This code is for a picture of a playing card. | |
The card is a 6 of hearts. | |
-} | |
text "Example 1" |> centered |> filled black |> move(0,55) | |
, heart red orange |> move (0, 40) | |
, heart yellow blue |> move (20,40) | |
, heart green pink |> move (40,40) | |
, heart purple red |> move (60,40) | |
-- draw many hearts in a row | |
, text "Example 2" |> centered |> filled black |> move(0,25) | |
, group (List.map heart2 (List.range -5 5)) |> move(0,10) | |
-- draw many hearts of different colours | |
, text "Example 3" |> centered |> filled black |> move(0,-5) | |
, group (List.map heart3 [(10, red), (30, orange), (50, purple)]) |> move (0, -20) | |
-- draw many hearts of different colours, with the model for animation | |
, text "Example 4" |> centered |> filled black |> move(0,-35) | |
, group (List.map (heart4 model) [(10, red), (30, orange), (50, purple)]) |> move (0, -50) | |
] | |
heart backgroundColour eyeColour = group | |
[ | |
triangle 40 | |
|> filled backgroundColour | |
|> rotate (degrees 30) | |
|> scaleY 0.7 | |
, | |
circle 20 | |
|> filled backgroundColour | |
|> move (17,23.5) | |
, | |
circle 20 | |
|> filled backgroundColour | |
|> move (-17,23.5) | |
, | |
circle 5 | |
|> filled eyeColour | |
|> move(10, 20) | |
, | |
circle 5 | |
|> filled eyeColour | |
|> move(-10, 20) | |
] | |
|> scale 0.25 | |
heart2 x = group | |
[ | |
triangle 40 | |
|> filled red | |
|> rotate (degrees 30) | |
|> scaleY 0.7 | |
, | |
circle 20 | |
|> filled red | |
|> move (17,23.5) | |
, | |
circle 20 | |
|> filled red | |
|> move (-17,23.5) | |
] | |
|> scale 0.25 | |
|> move (20 * toFloat x,0) | |
heart3 (x,col) = group | |
[ | |
triangle 40 | |
|> filled col | |
|> rotate (degrees 30) | |
|> scaleY 0.7 | |
, | |
circle 20 | |
|> filled col | |
|> move (17,23.5) | |
, | |
circle 20 | |
|> filled col | |
|> move (-17,23.5) | |
] | |
|> scale 0.25 | |
|> move (x,0) | |
heart4 model (x,col) = group | |
[ | |
triangle 40 | |
|> filled col | |
|> rotate (degrees 30) | |
|> scaleY 0.7 | |
, | |
circle 20 | |
|> filled col | |
|> move (17,23.5) | |
, | |
circle 20 | |
|> filled col | |
|> move (-17,23.5) | |
] | |
|> scale 0.25 | |
|> rotate (degrees 10*model.time) | |
|> move (x,0) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment