I hadn’t really thought of a name for this game so I guess I will come up with one now. This game shall be known as “Hangman: 007”. It tells you everything you need to know: that the basic game style is that of hangman (i.e. guessing letters) and that it is somehow related to James Bond.
I took a new twist to the hangman style of failure. Instead of a man being hung I decided that I would have a man in a cylinder that is being filled with water every time the user makes a mistake. The goal of the game is for the user to correctly guess the word with less than 7 errors to save the man. I tell the user that they have 7 errors to give so they aren’t just hoping they have a certain amount. It allows them to keep an internal tally along with the filling cylinder on the screen. If I had not told them they may not know what increments the cylinder would fill in and that might be frustrating and confusing to the user. As far the story of why this is James Bond themed, I initially had thought of a magician being the man but then I thought “You know who might find himself trapped in a cylinder being slowly filled with water? James Bond.” So that is how the failure mechanism, if you will, became Bond themed. I have even added James Bond themed soundclips at the beginning and end of the game(the end one is different depending on whether you succeed or fail). The words are baseball themed because I spent all of last week across the street from the ball park in Houston, plus the world series had just ended last weekend and so baseball was on my mind. Some of the words are very “jargon-y” so brush up on your baseball colloquialisms.
The biggest problem I had was trying to get the game to move the animation along only one frame for every missed letter instead of 8 frames. It took a while but luckily I was able to get guidance from Evan. What I ended up doing was creating a boolean phrase at the beginning of the function that checked the letter that was automatically set to false. I told the program to run a “for loop” through all the letters of the word that was selected and display them if that letter was present and change the boolean phrase to true. I then told it to add 1 to my correct answer counter. But, if the letter was not at all present and the boolean phrase remained false then the frame counter would go up by 1 and so would the animation. It took a little while but it all works well now. This really was the biggest problem. I knew what it needed to do but it was a matter of knowing how to do it. Once I got this done it was pretty much smooth sailing.
If you play the game, you will notice that when you click the letters, they disappear. This is absolutely a conscious decision. The reasoning behind this is that when you click a letter it is no longer available to you and it should not be visible. If the letters were to just fade they would still be on the screen. With the letters not on the screen it gives the user a better idea of what letters they have left and allows them to focus on those instead of being distracted by a letter they have already guessed.