CS320n - Assignment 1

  1. In the movie Finding Nemo there is a scene where the two protagonists, Marlin, a clownfish, and Dory, a regal blue tang fish, are trying to determine how to get to Sydney, Australia. Dory asks a school of fish for help. In an attempt to cheer Dory up the school of fish play charades with Dory, forming various objects by moving around and asking Dory to guess what they are. (I showed the clip of this in class on Wednesday.) You are to create a program where a school of fish play charades with two other fish. The program should follow this basic outline / design / storyboard.

    1. two fish swim up to a school of fish (the school of fish must have at least 3 fish, but no more than 10)

    2. one of the fish in the school asks the two fish if they like charades

    3. the two fish should turn to face the school and acknowledge they would like to play

    4. the fish in the school should then move to form some object and then give a clue to what the object is. (Okay, its not regulation charades.)

    5. the two fish should make some guesses as to the object and eventually get it right

    6. the two fish should then swim away

    It is okay if your fish simply move. They do NOT  have to have a realistic swimming motion.

    DO NOT use the Lilfish object that comes from Alice for your fish. This is a huge model, over 2 megabytes in size, and a program with multiple Lilfish objects will be very large and possibly very slow. Instead download the fish in the following table. Click on a link to save to your computer. DO NOT USE THE OCEAN FLOOR OBJECT. Use a simple world and move the fish and camera under the ground to simulate the ocean.

     
    Model Name and Link Size
    blueminnow 58 kilobytes
    Fish 40 kilobytes
    Goldfish 30 kilobytes
    pinkminnow 49 kilobytes
    yellowminnow 46 kilobytes
    fishy 275 kilobytes (use 1 at most)
    Shark 40 kilobytes

    To add the fish to your Alice program either download them to or move them to the following folder on the computer you are writing the program. Alice -> Required -> gallery -> Ocean


     

    You can also download and use models / objects from the online Alice gallery.

    Link to the general Alice online gallery.

    Link to the Ocean portion of the Alice online gallery

  2. Create a text based story board for your program. You can use the problem description above and expand on it for your version of charades. Save this as a plain text file. Most word processors allow you to save files as plain text or you can use a text editor like notepad. If working with Microsoft Word you can save a file as plain text by following these instructions. The name of the file that contains your storyboard will be your UTEID followed by a dash and s1. For example my UTEID is scottmd so the file with my storyboard would be scottmd3-s1.txt
     

  3. Implement an Alice program for your storyboard.

    Requirements. While implementing the program you must have the following elements.

    1. The name of your world shall be your UTEID followed by a dash and a1. For example, my UTEID is scottmd3 so my world would be named scottmd3-a1.

    2. Your world must have at least 5 fish. (The original 2 fish and at least 3 fish in the school that form an object.)

    3. The objects must interact with each other in the following ways. There must be at least one occurrence of each of the following between some pair of fish

      • Two fish turn to face each other

      • One fish moves towards fish

      • One fish is a vehicle for another fish and the two move together

    4. You must use the DoTogether and DoInOrder blocks including some nesting of these blocks.

     

  4. Turning in your assignment. The assignment must be turned in no later than 11 pm on Friday, February 6. To turn in your assignment you must have your Microlab account id and password. Use these to turn in the program electronically using the Microlab turnin web page. Refer to this web page for instructions on using the turnin web page.
     

  5. Tip. When you set up your world there are many times you want to move the camera to place some objects or look at ones that you have already placed. When you are done you want to move the camera back to the exact position you started at which is difficult with the camera move commands and cubersome with repeated undos. Here are the steps to get the camera to move back to the exact location you had it before you moved it.

    • In the object placement view click the more controls >> button.


       

    • When the expanded controls are shown click the drop dummy at camera button:


       

    • In the objects tree this creates a Dummy Objects folder with one element named Dummy. It may be useful to rename the dummy objects so that is it is more meaningful. Something such as initialCameraPosition.



       

    • Now you can move the camera any where you want in the scene to place objects not initially in view or tweak the position of objects. When you are ready to move the camera back to its initial position click the button under the move camera to dummy label and select the dummy object that is the initial position.



      This will reset the camera to the initial position. You could also drop another dummy at your "off screen" objects or scene to allow you to move easily back and forth between the two.