************************* * Project Marking Guide * ************************* Part 1: (Total 30 marks) [4] Function: Recolor [2] Change non-white pixels to specified colour using provided image. [1] Works for image of different dimensions [1] Calls get_black_image() (or likewise makes a new image) to return a new image [8] Function: Minify [5] Passes test to minify the provided image [2] Works for image of different dimension [1] Calls get_black_image() (or likewise makes a new image) to return a new image [6] Function: Mirror [3] Passes test to flip a provided image img left-to-right [2] Works for image of different dimension [1] Calls get_black_image() (or likewise makes a new image) to return a new image [4] Function: Draw item [2] Passes test to drawing the non-white pixels of the item onto canvas [2] Works for item of different dimension [6] Function: Distribute Items [4] Passes test to draw the item onto the canvas n times in random locations [2] Random locations are selected to ensure the item will fit on canvas [2] Module & Code Style [**NEW**] Module does not run any code when imported (all code in functions) Variables are well-named Indentation done properly Each line is within character limit Code is well grouped into paragraphs with descriptive comments Organized into paragraphs of 1-5 lines of code. Blank lines should not hamper readability. Code is well organized into functions. Part 2: (Total 30 marks) You may use your draw.py or the sample provided draw.py [5] Learn [2] Elements display one after the other [1] Sound plays for each item [1] Random placement of each item on board [1] Updates number of words learned after change in settings [13] Play [1] Number of rounds changes depending on input [1] 3 unique items are displayed each round [1] Random number of each of the 3 unique items, between 1-4 [1] All images for a given item are colored, sized, mirrored in the same way [2] Color is chosen randomly, using rgb [1] Color is visible [1] Minify is used randomly but consistently for the same item [1] Mirror is used randomly but consistently for the same item [2] Correctly checks the number of items [2] Correctly plays a sound [4] Settings [2] After setting a new number of words to learn, it is retained when re-entering settings [2] Application does not permit numbers < 3 and greater than number of words in blackfoot.csv file [3] Reading CSV [3] Code reads CSV to load word data, not hardcoded (able to handle new items or changes in CSV words) [3] Display Menu Loop [3] Uses a loop and manages entry into Learn, Play, Change Settings, and Quit [2] Code Style Variables are well-named Indentation done properly Each line is within character limit Code is well grouped into paragraphs with descriptive comments Organized into paragraphs of 1-5 lines of code. Blank lines should not hamper readability. Code is well organized into functions.