Ian created a very complete drawing app. It has an entirely graphical user interface. There are no printed words outside the screen. And all the printed text on the screen is necessary to help users navigate the game. The game allows users to select from drawing floral, drawing gem, and drawing line through onscreen click. It allows mode switching through onscreen click as well. When switching mode, the drawings will remain on the screen so that users can draw different items onto the same picture. The game is very easy to navigate because all the navigation information is listed on the screen. I think the screen design is really good because it still looks clean and organized when a lot of information is displayed on the screen. The users can use keyboards to choose from six colors and four pen sizes to customize the color and the size of the floral, gem, and line. There is a clear button on the top left of the screen that allows user to clear the drawing and start over.
I really like the fact that Ian created two screens for the program, one to choose what to draw, and another to actually draw the item. This way of design helped organize the screen. When switching mode, the users will be brought back to the main page to choose an item again while the previous drawings actually still remain on the screen. I think this makes intuitive sense since users would want to draw different items on the same graph.
Ian’s code is clean and easy to read. He used a main.py file to initialize the program. There is only one function, primary() in the main py file. While it is very easy to read, it takes some digging to figure out the main structure of the program. Ian used the setup py file for background setup functions as well as the onkey and onclick linkages. He used the additionalfunctions py file for the actual drawing functionality and the clear functionality. There are several loops used in “additionalfunctions.py”. Loops are used to draw buttons, flower, and gen. Several turtles are used in the program for various functions, including goodboy, tina, craig, and so on. A screen object is used as well. The program runs without error. I do notice that, for the floral and gem mode, this is always a line linked with a floral or gem. It might be better to take the lines out. Ian’s program is well commented and organized.
Ian has accomplished all his milestones for the drawing app. He split the programming process into seven steps, starter code, interface, three modes, clear and reset, and debugging. The milestones are clearly stated, achievable and collectively sufficient to satisfy the project requirements. I like the fact that Ian listed debugging out as one milestone. Because we can always run into issues in the program, and setting out enough time to debug or adjust program is important in meeting deadlines.
Different from mine, Ian’s drawing app gives user more freedom in terms of where to draw and how to draw. Given opportunities to improve my app, I would also like to give users more freedom to draw facial features. I would also like to set aside time for debugging so that I can better control program time.