> You might want to make coords an init parameter for Room, rather than > assigning it separately. You could also have Rooms register themselves > with world as part of their initialization, that would be better than > having to repeat yourself in the definition of world.
brilliant! i'll do that. >> >> class Object: >> def __init__(self,name): >> self.name = name >> >> def getname(self): >> return self.name > > Object is not such a great name, it is too easily confused with object, > the base class of new-style classes. Maybe Item? > > Right now this class isn't pulling its weight, it could be replaced by a > simple string. Presumably you will add more functionality to it; if so > it's worth keeping it around, otherwise get rid of it. > > Common Python practice is *not* to define setters and getters, just access > the attribute directly - so get maybe you don't need getname> i just now learned what setter and getter is. i did this to make my inventory function work properly. i'll try to remove my getter. didn't know we had new-style classes. >> def look(self): >> print self.location.name >> >> def move(self,direction): >> if self.location.exits.has_key(direction): >> self.location = self.location.exits[direction] >> print self.location.name >> else: print 'alas, you cannot go that way' >> def dig(self,direction): >> lcoords = list(self.location.coords) > > Why do you convert to a list? You can access tuple elements by index. i need to change the coordinates of the current room to the room i'm digging into so i can check world to see if that room exists. there is probably a better way to do all that. > >> if self.location.exits.has_key(direction): >> print 'there is already an exit there' >> >> >> elif direction == 'n': >> ncoords[1] == lcoords[1] + 1 > > You probably mean > ncoords[1] = lcoords[1] + 1 > but I think I would make ncoords a local variable and just say > ncoords = (0, lcoords[1] + 1) > > With ncoords as a global you have a bug, you only set one element here, > the other one will be left over from the last time through. > > Kent i stuck that global up there to make something work. i forget what now. maybe i should take notes or something :) i'm thinking i should write some separate convert directions to coordinates function. thanks for the thought food and thanks for taking time to look at my code. version 2 will be along shortly but don't hold your breath :) (because thats bad for you) _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor