CS312 Blackwood Server Assignment (100 pts)
Create a character in the Blackwood simulation,
- go underground through the Wishing Well in the Park,
- find your Ante Room (refer to instructions given in class if
you cannot find it),
- 'dig' a workspace for yourself, and
- 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.
- send a report detailing your work to the relevant official.
You accomplish this by following the instructions, in the
sequence detailed below.
- 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.
- 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
- (5 pts) @describe yourself
- Find your Ante Room, either by using common sense, or according to the instructions given in class
- Execute the 'pgmr_me' verb to promote yourself to a programmer
type 'help builder-index' and read useful information
- (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)
- (5 pts) execute the 'addmyexits' verb to make your exit visible
- (5 pts) go to your new room and use @sethome to make this
your home room (Note: this is demonstrated using the 'home' verb)
- (10 pts) @describe your exits, both in and out of the Ante
Room (5 pts each).
- (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."
- (5 pts) @describe your room in whatever (tasteful) way you choose
- (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).
- (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"
- (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)
- (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).
- (5 pts) @describe your traffic counter as though it
were a person or robot that 'belongs' in your underground lair
- (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.
- (5 pts)Have your traffic counter greet players
differently if they are new or repeat visitors
- (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"
- (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()'
- (5 pts) Produce 'report' results in
sorted order by 'most frequent visitor' or 'visitor name' or 'most recent visitor'
- @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"