Question: Programming Language: BSL Purpose: To practice designing lists and start our first project Expectations You should submit a single . rkt file containing your responses
Programming Language: BSL
Purpose: To practice designing lists and start our first project
Expectations
You should submit a single rkt file containing your responses to all exercises via the Handins Server. We accept NO email submissions. Failure to submit a rkt file will result in a Please note that a rkt~ file or bak file will NOT be acceptable and will result in a
You are only allowed to use the language specified at the top of this page. This includes any additional libraries, except htdpimage and htdpuniverse Failure to do so will result in a
Your code MUST conform to the guidelines outlined in the style guide on the course website. The style guide may be updated as the semester progresses so please remember to read it before submitting each assignment.
Make sure to hit "Save Definitions" in DrRacket before submitting your file!
Unless otherwise stated, for all function design problems you must provide i a signature, ii a purpose statement, iii checkexpects, and iv the actual code, in the language specified at the top of this page. Write at least checkexpects for every function you design. Additionally, ensure that you get full code coverage, meaning, DrRacket is not showing any "halloween colors" orange on black for any parts of your code except templates
Unless otherwise stated, for all data design problems you must provide i a definition, ii an interpretation, iii examples, and iv a template.
Some exercises may require you to design additional data for full credit, even if this isn't made explicit in the question.
Make sure to avoid any of the banned functions.
Functions to Avoid
For this class, unless we tell you otherwise, you must not use the following functions:
equal?
equal~
eq
eqv?
assq
assoc
assv
member
member?
memq
remove
removeall
Project: FunPaint
In Homework you were asked to implement a simple circle painter. Over or homeworks, we will extend this idea to a shape painting program called FunPaint.
Task Design union data to represent shapes. Your data type should support at least a circle, a rectangle, a triangle and a star. You can assume that all shapes have a solid color. Each shape should also contain enough information to be drawn using the corresponding function from the image library.
Note, when naming your structures, avoid using circle, triangle, rectangle, or star to avoid clashing with the image library functions.
Task Design data for a placed shape, which associates a shape with a position x y on a canvas.
Task Design data to represent a list of placed shapes. This will represent the shapes drawn so far in our program's world state.
Task Design the world state for FunPaint. Plan for the user to have the ability to change the next shape to be placed, its color and its size. Provide at least examples of a world state with multiple different shapes placed.
Task Design the first prototype version of FunPaint, which only provides a static view of the current world state. Implement this as a world program, funpaint. Yes, you only need to provide the todraw handler.
A small sample of the currently selected shape in the currently selected color should be displayed in the top left corner of the canvas. The current size should be rendered as a number next to or under the shape sample.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
