This assignment will require you to use functions from the Elm core libraries. There are links below to some resources, but feel free to search for other resources online or ask your instructor. Note that this is not an exhaustive list of Elm resources. You may decide to use other core libraries, as well.
For your final assignment, you are to develop a blimp flight simulator (simul-inator) to test D.E. Inc’s pilots’ abilities. You are to add the following features to the starter program:
Your completed assignment should be well documented, and it should function the same as the reference implementation.
The simulator works as follows:
You’re welcome to install Elm, and work on this assignment on your own machine or a lab machine. However, this assignment has been intentionally designed, so that you can do the whole thing in the online editor available on Elm’s website.
Note: Be careful working in Elm’s online editor. It will not save your work. You should copy your program into a text editor and save it periodically.
Remember that we’re using Elm version 0.18. That’s what the online editor uses.
You should tackle this assignment as follows:
Main.elminto http://elm-lang.org/try and compile it. Try using the compiled app to see what it does so far.
scoreBoard : Int -> Svg.Svg GameEventfunction to display the scoreboard. That part’s written for you.
As you’re working, be sure to…
Main.elm. There is no need for multiple files for this assignment.
This assignment is worth 100 points. It will be graded according to the following rubric:
|Feature||Points Possible||Mostly or completely incorrect (0% of points possible)||Needs improvement (50% of points possible)||Adequate, but still some deficiencies (75% of points possible)||Mostly or completely correct (100% of points possible)|
|Program compiles successfully (no errors), and there is evidence of an earnest attempt to complete the program.||30||-30||-15||-8||0|
|Program behaves the same as the reference implementation||30||-30||-15||-8||0|
|Every module-level function is briefly2 and correctly documented||20||-20||-10||-5||0|
|Source uses good Elm style as described in http://elm-lang.org/docs/style-guide||10||-10||–||–||0|
|Code Review (well-documented, implementation is straightforward, etc.)||10||-10||-5||-3||0|
Each cell indicates how many points out of the available points will be awarded for that feature (row) and assessment level (column).
-- cannot be achieved.
You may modify the game or add additional feature(s) to earn up to 10 bonus points on this assignment.
To earn these points you must:
Bonus.elmthat contains your bonus feature.
Main.elmshould contain your regular, expected game that behaves like the reference implementation.
Bonus.elmshould contain game with your proposed update.
Don’t forget to include your assignment solution in
If you don’t have a working solution in
Main.elm, we’re not going to grade the bonus.
11:59:59 PM CST – Tuesday, December 12, 2017
Refer to the assignment submission page on the course website for details on submitting your code to GitLab.
When we grade your assignment, we will do the following (roughly).
# Compile your program using Elm 0.18 $ elm make src/Main.elm --output index.html # Open your app and play around with it $ chromium-browser index.html
Which is the same as pressing the Compile button on http://elm-lang.org/try.