import logging
from Context import *
from CommandFactory import *
class Game:
logger = logging.getLogger("taco")
currentRoom = None
factory = None
def __init__(self, userDetails, startRoom, rooms):
self.context = Context(userDetails, startRoom, rooms)
self.rooms = rooms
self.factory = CommandFactory()
self.__displayOpeningText()
self.__displayStartingRoomInfo()
self.__run()
def __displayOpeningText(self):
print "\n"
print "Welcome to Foo adventure, ",self.context.getUserDetails().getName()
print "\n"
def __displayStartingRoomInfo(self):
self.context.getCurrentRoom().printInfo()
self.context.getCurrentRoom().getDirections().printInfo()
def __run(self):
self.logger.debug("Running, querying for user input")
playerInput = raw_input("\n? ")
self.logger.debug("Mapping user input to a command")
cmd = self.factory.create(self.context, playerInput)
self.logger.debug("Executing command: " + str(cmd))
cmd.execute(self.context, playerInput)
self.__run()