CSC 101 Computer Literacy

Homework 4

Merrie Bergmann

Ileana Streinu

Dominique Thiebaut

Due Wednesday, October 2, by midnight

Please be reminded that next week, Thursday October 3rd, 1996, you will take the first quiz. Please start working on this homework early enough to allow time to study.

Adventure!

Make a Hypercard stack that is something like an Adventure game. Adventure is a game where a single player (the user) moves from one location to another, usually in search of some treasure, and encounters adventures along the way. Typically the adventurer is always in some environment, e.g., "You are standing at the end of a road before a small brick building. Around you is a forest. A small stream flows out of the building and down a gully." (This is from an Adventure game provided on Unix machines.) The adventurer then chooses an action, which is either moving around (for example, entering the building, or going downstream), or picking up objects, or fighting monsters.

Each location or "scene" in the game can be represented as a single card of the stack. You are free to design location cards as you please. In particular, you do not have to follow the forest-and-cave paradigm: the world could be the Smith campus, the Middle East, or the solar system for all I care. Check out Allison's Adventure and Adventure Demo in the folder Literacy/ Hypercard Stacks/ Misc Stacks for examples (but neither of these stacks satisfy all or even most of the requirements below).


1. Your stack should contain at least five location cards (it may contain more).

2. Each card should include graphics (so not all text).

3. Some of the graphics should be original. I do not expect artistry, but I do expect a demonstration of mastery of the graphics tools with reasonably complex original graphics. Show me that you know the tools and related menus.

4. Some of the graphics should be composed of pictures you have copied from some other stack and pasted into your own. (In Literacy, you might look in ClipArtetc at ArtIdeas, ClipArt, BackgroundArt, Dinosaurs, and especially Brad's Favorite ClipArt; in AEStacks check out AEArtShow. Any other source is also fine.) I want you to demonstrate your mastery of copying pictures.

5. Every card should contain one or more buttons that link to other cards. I want the linking to be more complicated than simple linear prev/next linking (1 Æ 2Æ 3Æ 4Æ 5). So one card might have several options, each of which takes you to a different card.

6. At least one button should be Style=Transparent, so that its location is unknown to the user, but it works when you click on it.

7. At least five of the buttons should use some visual effect.

8. At least five of the buttons should make some sound (you should use the play command in their scripts, or any other method that you found out on your own!).

9. On at least one card, some text should suddenly appear as the result of an appropriate click. This is accomplished by creating a field containing the text, but then hiding the field (making it invisible) initially, and later showing it at the appropriate click, as we did in the lab for the Musical Lessons.The command to hide the field is hide card field "whatever", and to show it, show card field "whatever", where whatever is the name of the field. You will need to make sure this field is set to hide when the card is first opened (otherwise, once it is shown it remains visible). So you should place the command hide card field "whatever" into the card script. See the example done in class (Musical Lessons) for an example of a similar card script. The show command can be located in one of two places: either in the script of a button, or in the script of the field itself (in which case you must lock the field text so that the field can "hear" the button).

10. On at least one card, some graphics should appear magically as a result of an appropriate user click. You accomplish this by covering the graphics with an opaque field, and then hiding that field from within either a button script or the field script with the command hide card field "whatever". You will need to make sure this field is set to show when the card is first opened (otherwise, once it is hidden it remains hidden). So you should place the command show card field "whatever" into the card script. An example may be found in Adventure Demo mentioned above.

Please arrange that these last two items work each time the cards are newly opened. In other words, it should work the first time the card is viewed, and if later you return to that card, it should work again. This requires appropriate initialization in the card script.

Name your draft Adventure stack HW4.Name and drag it to Literacy/DropBox by March 2nd. Name your final stack HW5.name and drag it to Literacy/DropBox by October 2nd midnight..

Warning (again)!: October 3rd is the midterm exam, so please plan ahead to leave yourself time to both study and complete this assignment.