Phantom Tollbooth

by Omar Kashef

10 Mar 2016

</h2>Game App Project</h2>

</h2>Reflection</h2> I think if anything this project taught me quite a bit about scope. I attempted to create a large project where I would be able to tell the story of the Phantom Tollbooth where at the end Milo would rescue the princesses. Essentially, a game event appears which is an event that occurs in the book.

With such a wide open project, I wanted to be ambitious. At first when developing the app, I focused on the functionality before creating additional game events. However, the functionality took up so much of my time that I never got around to creating the full game. I ended up only getting three functioning events.

There were three things I could not get to work properly. One piece that I couldn’t get to work though was creating a moving turtle that responded to a boundary. I kept getting a ValueError. I also was able to create custom classes; however, after creating them, some of the attributes such as penup or hideturtle didn’t function so I had to include them separately for each additional turtle I made. The last piece I could not get to work was to make a click function work in an if statement. I wanted to call the click function when an argument was True but the click function would not work when part of an if statement.

Generally though I was less frustrated through the development of this app than I was the drawing app. I was better able to debug and fix any errors I had barring the ones noted above.

Game App Project Checklist - [x] graphical user interface - [x] use key events - [x] use click events - [x] have an object or reason to play - [x] display animated “win” screen - [x] keep track of state - [x] display info to user using turtles - [ ] let user play again - [x] utilize custom modules - [x] utilize definite loops - [x] utilize multiple turtle ojbects - [x] use objects thar are extensions of Python’s Turtle Class - [x] use named screen object - [x[ run without errors - [x] be well-commented

Milestones - [x] welcome user to game with turtle to provide objectives and instructions - [x] create turtle object for Milo that moves on keys - [x] set up screen with background color - [ ] create twenty game events that represent objectives for Milo to reach via keys - [ ] at least three game events request user to answer multiple choice question - [ ] user can click on screen at any point to display more information to user about current status - [x] create tracker that show’s users progress of game events

Revised Milestones - [x] welcome user to game with turtle to provide objectives and instructions - [x] create turtle object for Milo that moves on keys - [x] set up screen with background color - [ ] create five game events that represent objectives for Milo to reach via keys - [ ] at least 2 game events request user to answer multiple choice question - [ ] user can click on screen at any point to display more information to user about current status - [x] create tracker that show’s users progress of game events

Omar is a second-year graduate student studying both Public Administration and Information Science. I'm an avid reader (current favorite books: Alice in Wonderland and Clockwork Orange) and I still play DDR. Find Omar Kashef on Twitter, Github, and on the web.