CS312 Blackwood Server Assignment (100 pts)

Create a character in the Blackwood simulation,

  1. go underground through the Wishing Well in the Park,
  2. find your Ante Room (refer to instructions given in class if you cannot find it),
  3. 'dig' a workspace for yourself, and
  4. implement a "traffic counter" 'bot that records who or what has passed through your room, when, and how many times, with a nicely formatted reporting verb.
  5. send a report detailing your work to the relevant official.

You accomplish this by following the instructions, in the sequence detailed below.

  1. Log on to the Blackwood MOO
    Host: lions.cs.ndsu.nodak.edu
    Port: 7777
    Use the tkmoo-light client for PC or Mac (note TkMOO-lite for modern Macs on Blackboard)
    Note: to get copies of the freeware client, tkmoo-light, in the clusters or elsewhere, go to The MooAdmin Page and follow the instructions.
  2. Create a character for yourself using the 'create' command
    Usage: create [new-player-name] [new-password]
    Use your NDSU email name (first.last) as your login name and your StudentID number as your password
  3. (5 pts) @describe yourself
  4. Find your Ante Room, either by using common sense, or according to the instructions given in class
  5. Execute the 'pgmr_me' verb to promote yourself to a programmer
    type 'help builder-index' and read useful information
  6. (10 pts) @dig a room for yourself (do this carefully)
    read 'help @dig' for assistance
    do NOT use a compass point as your exit name (10 pt deduction for this)
    do NOT dig your room in the wrong place (15 pt deduction)
  7. (5 pts) execute the 'addmyexits' verb to make your exit visible
  8. (5 pts) go to your new room and use @sethome to make this your home room (Note: this is demonstrated using the 'home' verb)
  9. (10 pts) @describe your exits, both in and out of the Ante Room (5 pts each).
  10. (10 pts) define @leave messages on your exits (10 pts each). You will want to read "help messages" to fully grasp this, the short summary is:
    The 'leave' message on an exit is printed to a player when they successfully use the exit to leave a room. To set the 'leave' message on the exit 'ParsnipFarm' from the current room, use the command
    @leave ParsnipFarm is "You wander towards the Parsnip Farm, with a leisurely gait, smelling the Parsnips as you roam."
  11. (5 pts) @describe your room in whatever (tasteful) way you choose
  12. (5 pts) @dig a back room for yourself (2 pts), describe it (1 pts), and describing the exits in (1 pts) and out (1 pts).
  13. (5 pts) @create an instance of $g.traffic_counter named appropriately for your room; i.e. room #1234 would get counter1234
    YOUR number should be the number of your underground room. For example, "The Black Pearl (#8064)" uses "counter8064"
  14. (5 pts) Create a $g name for your counter, see http://cs.ndsu.edu/~slator/html/dollarg.html, (NO object numbers in code), for example
    ;$g:add_dollarg_prop("counter8064", YOUR-OBJECT-NUMBER)
  15. (5 pts) add an "enterfunc" function to your room that calls a 'traffic' verb on your counter, passing it the object that has entered your room (see How to Add Verbs for details).
  16. (5 pts) @describe your traffic counter as though it were a person or robot that 'belongs' in your underground lair
  17. (5 pts) Add a "traffic" verb to your traffic counter box. This verb should maintain at least a 2-place list (as a property defined on the counter box object) that records who/what has traveled through your room, and how many times.
  18. (5 pts)Have your traffic counter greet players differently if they are new or repeat visitors
  19. (5 pts) implement a "report" verb on your counter box that produces a nice listing of traffic in response to a player typing the command "report counter1234"
  20. (5 pts) Add WHEN to the report, i.e. " most recently at 11:36 p.m. on 02/06/03". You will want to read "help $time_utils" especially the functions AMPM and MMDDYY to do this, also 'help time()'
  21. (5 pts) Produce 'report' results in sorted order by 'most frequent visitor' or 'visitor name' or 'most recent visitor'
  22. @audit yourself and send reasonably commented code that to the relevant official (probably the TA for the course) along with a transcript showing output and messages. This document should be clear and explicit about what points you have earned, and for what exactly.
    The SUBJECT line of your email should say "CS312 ASSIGNMENT"


Modified: 5Jan99, 9Jan01, 3mar05, 8jan06, 18oct06, 13Jan11, 8Jan14 and 6feb03, 17Jan10, 22Feb11, 26Aug16
Send comments to: slator@cs.ndsu.edu