CompSci 4 Fall 2008: Assignment #6

Due: Tuesday, Nov. 4 - 11:59pm
Extended to Thursday, Nov 6 midnight.

15 points

This is individual work. You may talk to other students in the course about your design and for ideas, but you are to write the complete Alice program by yourself. You may receive help from the Professor, UTA's or TA.

The Problem: Matching Code Game

The Startup:

You start with three Magic Wands enlarged about 6 times so they look like poles. (Note: Make sure you add three magic wands one at a time. DO NOT put one magic wand in and make a copy of it. Copied objects share items and may confuse you and your program.) Then put a beach ball centered on the pole as in the picture. In the program, the beach ball will move up and down the pole to either the top of the pole or the bottom of the pole.

For each pole start with the beach ball at the top of the pole, or "all the way up". The start is as shown below.

The Game

A three-word code is where each word is either the word "up" or "down". These words are to represent the position of the balls on the poles for the solution. You will randomly generate the three words (using random). This code is not shown in the game. For the moment, assume the code is "down up up".

Each ball is associated to be either up (on top of the pole) or down (at the bottom of the pole). If you click on a pole, its corresponding ball position should change. If the ball is up when you click on the pole, then the ball should move all the way down to the bottom of the pole. If the ball is down when you click on a pole, its ball is changed to be all the way up on the pole. For example, in the figure above, the game started with all the balls at the top of the poles (in the "up" position), then the result below is after three clicks: the second pole is clicked once (ball2 moves down), then the first pole is clicked once (ball1 moves down), and then the second pole is clicked again (ball2 moves back up) and the ball positions then match the code of "down up up".

The game works as follows. You generate a three word code not equal to "up up up" (otherwise you would win right away) and not display the code. Then you click on the poles until their position matches the random code. A counter keeps track of how many times you have to click. The game ends when the balls on the poles match the three word random code. When the game ends something spectacular should happen to let you know the game is over.

Hint: To figure out if the ball is up or down on its pole, one way to do this is to put an invisible object in the middle of the pole and ask the question if the ball is above the object or not. In the first figure I have put ladybugs in the middle of the pole. They are not invisible so you can see them, but should be made invisible when the game is played as shown in the second figure.

Hint2: You probably want to use three code words. You may want to check something like "If ball1 is in the up position and the code1 is up, then ball1 matches its corresponding word code."


  1. You must use three magic wands (resized larger) as poles and three beachballs to move up and down the poles. When the user clicks on a pole, the ball on that pole should move to the new position.

  2. You should have instructions telling the user how to play the game and how they can win.

  3. You must have an event that can display the answer (the random three word code). The answer should appear for 4 seconds and then disappear. This will be helpful to you to see if your game is working correctly. In the figure below the solution is shown.

  4. You must have one counter that shows how many times the user has clicked on the poles. This counter must be displayed as 3D text. (In the example, this counter is shown in the top right corner).

  5. When the game is over (the random code has been matched) the user wins if the counter is less than 5. If the user wins, then something spectacular should happen including a text message. For example, in the figure above, the chicken appears and dances around and a 3D text message is displayed (You won!) indicating you have found the solution. You may do something else as an attention getter, but must also display a text message. You must also indicate if the loser lost (clicked five or more times).

  6. The presentation must be nice. 20% of the grade is on presentation.


This part will be turned in two ways.

  1. Create a text file called README.txt to include a comment with your name, how long you worked on the assignment and names of anyone you received help from. Turn in on Blackboard both the Alice world and the README.txt file.

    (Optional) If you want you can put these two files into one folder. Zip the folder with the two files and turn in the .zip file on blackboard under assignments.

  2. Create an html page that has at least two snapshots of your world including showing what happens at the end when the user wins and a description of how to play the game. Link to this html page from your CompSci 4 page. We will look for it on your web page.