コード例 #1
0
import eng


class ConservatoryOutsideDoor:
    name = 'escape'
    visible = False
    aliases = ['outside', 'out window', 'trees', 'tree line']
    roomConnections = {'west': 'Conservatory', 'east': 'outside'}

    # Winning the game
    def go(self):
        score = eng.getScore()
        if score >= 300:  # Win
            self.visible = False
            outside = eng.getRoomByName('outside')
            eng.goToRoom(outside)
            eng.winGame()
            return "CONGRATULATIONS! You completed your mission. Big Al will be quite pleased. Type \"quit\" to end the game."
        else:
            return "This would make a great escape route, but you still have work to do. You only have " + str(
                score
            ) + " points. Anything less than 300 would be an embarrassment."

    def look(self):
        return "You can easily escape through the window. A quick sprint to the tree line and you would be home free."


eng.setupDoor(ConservatoryOutsideDoor())
コード例 #2
0
ファイル: foyerLibraryDoor.py プロジェクト: kniers/Capstone
import eng


class FoyerLibraryDoor:
    name = 'foyerLibraryDoor'
    visible = True
    aliases = ['door', 'library door']
    roomConnections = {'north': 'Foyer', 'south': 'Library'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        foyer = eng.getRoomByName('Foyer')
        library = eng.getRoomByName('Library')
        currRoom = eng.getCurrentRoom()
        if currRoom == foyer:
            return eng.goToRoom(library)
        else:
            return eng.goToRoom(foyer)

    def look(self):
        return self.descriptions['desc']


foyerLibraryDoor = FoyerLibraryDoor()
eng.setupDoor(foyerLibraryDoor)
コード例 #3
0
ファイル: libraryStudyDoor.py プロジェクト: kniers/Capstone
import eng


class LibraryStudyDoor:
    name = 'libraryStudyDoor'
    visible = True
    aliases = ['door', 'study door']
    roomConnections = {'east': 'Library', 'west': 'Study'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        library = eng.getRoomByName('Library')
        study = eng.getRoomByName('Study')
        currRoom = eng.getCurrentRoom()
        if currRoom == library:
            return eng.goToRoom(study)
        else:
            return eng.goToRoom(library)

    def look(self):
        return self.descriptions['desc']


libraryStudyDoor = LibraryStudyDoor()
eng.setupDoor(libraryStudyDoor)
コード例 #4
0
import eng

class GalleryBilliardRoomDoor:
	name = 'galleryBilliardRoomDoor'
	visible = True 
	aliases = ['door']
	roomConnections = {'north': 'Portrait Gallery', 'south': 'Billiard Room'}
	descriptions = {'desc': "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."}
	properties = {'locked': False}
	
	
	def go(self):
		gallery = eng.getRoomByName('Portrait Gallery')
		billiardRoom = eng.getRoomByName('Billiard Room')
		currRoom = eng.getCurrentRoom()
		if currRoom == gallery:
			return eng.goToRoom(billiardRoom)
		else:
			return eng.goToRoom(gallery)


	def look(self):
		return self.descriptions['desc']


galleryBilliardRoomDoor = GalleryBilliardRoomDoor()
eng.setupDoor(galleryBilliardRoomDoor)
コード例 #5
0
ファイル: foyerBallroomDoor.py プロジェクト: kniers/Capstone
import eng

class FoyerBallroomDoor:
	name = 'foyerBallroomDoor'
	visible = True 
	aliases = ['door']
	roomConnections = {'north': 'Ballroom', 'south': 'Foyer'}
	descriptions = {'desc': "This is the door that leads form the foyer into the ballroom."}
	properties = {'locked': False}
	
	
	def go(self):
		ballroom = eng.getRoomByName('Ballroom')
		foyer = eng.getRoomByName('Foyer')
		currRoom = eng.getCurrentRoom()
		if currRoom == ballroom:
			return eng.goToRoom(foyer)
		else:
			return eng.goToRoom(ballroom)


	def look(self):
		return self.descriptions['desc']


foyerBallroom = FoyerBallroomDoor()
eng.setupDoor(foyerBallroom)
コード例 #6
0
import eng


class BarGardensDoor:
    name = 'barGardensDoor'
    visible = True
    aliases = ['door', 'gardens door']
    roomConnections = {'east': 'Gardens', 'west': 'Bar'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        bar = eng.getRoomByName('Bar')
        gardens = eng.getRoomByName('Gardens')
        currRoom = eng.getCurrentRoom()
        if currRoom == bar:
            return eng.goToRoom(gardens)
        else:
            return eng.goToRoom(bar)

    def look(self):
        return self.descriptions['desc']


barGardensDoor = BarGardensDoor()
eng.setupDoor(barGardensDoor)
コード例 #7
0
import eng


class FrontDoor:
    name = 'frontDoor'
    visible = True
    aliases = ['door', 'front door']
    roomConnections = {'east': 'Foyer', 'west': 'Front Porch'}
    descriptions = {'desc': "This is the door out of the house."}
    properties = {'locked': False}

    def go(self):
        foyer = eng.getRoomByName('Foyer')
        frontPorch = eng.getRoomByName('Front Porch')
        currRoom = eng.getCurrentRoom()
        if currRoom == foyer:
            return eng.goToRoom(frontPorch)
        else:
            return eng.goToRoom(foyer)

    def look(self):
        return self.descriptions['desc']


frontDoor = FrontDoor()
eng.setupDoor(frontDoor)
コード例 #8
0
import eng


class FoyerGalleryDoor:
    name = 'foyerGalleryDoor'
    visible = True
    aliases = ['door']
    roomConnections = {'east': 'Portrait Gallery', 'west': 'Foyer'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        foyer = eng.getRoomByName('Foyer')
        gallery = eng.getRoomByName('Portrait Gallery')
        currRoom = eng.getCurrentRoom()
        if currRoom == foyer:
            return eng.goToRoom(gallery)
        else:
            return eng.goToRoom(foyer)

    def look(self):
        return self.description


foyerGalleryDoor = FoyerGalleryDoor()
eng.setupDoor(foyerGalleryDoor)
コード例 #9
0
ファイル: masterBathDoor.py プロジェクト: kniers/Capstone
import eng


class masterBathDoor:
    name = 'masterBathDoor'
    visible = True
    aliases = []
    roomConnections = {'north': 'Master Bathroom', 'south': 'Master Bedroom'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        masterBed = eng.getRoomByName('Master Bedroom')
        masterBath = eng.getRoomByName('Master Bathroom')
        currRoom = eng.getCurrentRoom()
        if currRoom == masterBed:
            return eng.goToRoom(masterBath)
        else:
            return eng.goToRoom(masterBed)

    def look(self):
        return self.descriptions['desc']


masterBathDoor = masterBathDoor()
eng.setupDoor(masterBathDoor)
コード例 #10
0
ファイル: bridge.py プロジェクト: kniers/Capstone
import eng


class bridge:
    name = "bridge"
    roomConnections = {"east": "plateau", "west": "dungeon"}
    visible = False

    def look(self):
        return "A narrow bridge. It looks safe enough to cross"

    def go(self):
        plateau = eng.getRoomByName("plateau")
        dungeon = eng.getRoomByName("dungeon")
        currentRoom = eng.getCurrentRoom()
        if currentRoom == plateau:
            return eng.goToRoom(dungeon)
        else:
            return eng.goToRoom(plateau)


eng.setupDoor(bridge())
コード例 #11
0
import eng


class BallroomKitchenDoor:
    name = 'ballroomKitchenDoor'
    visible = True
    aliases = ['door', 'kitchen door']
    roomConnections = {'south': 'Ballroom', 'north': 'Kitchen'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        kitchen = eng.getRoomByName('Kitchen')
        ballroom = eng.getRoomByName('Ballroom')
        currRoom = eng.getCurrentRoom()
        if currRoom == kitchen:
            return eng.goToRoom(ballroom)
        else:
            return eng.goToRoom(kitchen)

    def look(self):
        return self.descriptions['desc']


ballroomKitchenDoor = BallroomKitchenDoor()
eng.setupDoor(ballroomKitchenDoor)
コード例 #12
0
    properties = {'locked': False}

    def go(self):
        foyer = eng.getRoomByName('Foyer')
        hall = eng.getRoomByName('Hallway')
        bt = eng.getItemByName("butler")
        if "butler" in hall.items:
            if bt.properties['dead']:
                return self.descriptions['butlerDead']
            else:
                return self.descriptions['butlerAlive']
        elif eng.inInventory(bt):
            return self.descriptions['butlerHeld']
        else:
            currRoom = eng.getCurrentRoom()
            if currRoom == foyer:
                return eng.goToRoom(hall)
            else:
                # Can't go downstairs holding the masterpiece from the hallway
                masterpiece = eng.getItemByName('masterpiece')
                if eng.inInventory(masterpiece):
                    return "Going downstairs to the party while holding this huge stolen painting isn't the best idea you've had. You should drop it."
                return eng.goToRoom(foyer)

    def look(self):
        return self.descriptions['desc']


staircase = Staircase()
eng.setupDoor(staircase)
コード例 #13
0
ファイル: ballroomBarDoor.py プロジェクト: kniers/Capstone
import eng


class BallroomBarDoor:
    name = 'ballroomBarDoor'
    visible = True
    aliases = ['door', 'bar door']
    roomConnections = {'east': 'Bar', 'west': 'Ballroom'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        ballroom = eng.getRoomByName('Ballroom')
        bar = eng.getRoomByName('Bar')
        currRoom = eng.getCurrentRoom()
        if currRoom == ballroom:
            return eng.goToRoom(bar)
        else:
            return eng.goToRoom(ballroom)

    def look(self):
        return self.descriptions['desc']


ballroomBarDoor = BallroomBarDoor()
eng.setupDoor(ballroomBarDoor)
コード例 #14
0
import eng


class BarGalleryDoor:
    name = 'barGalleryDoor'
    visible = True
    aliases = ['door', 'gallery door']
    roomConnections = {'north': 'Bar', 'south': 'Portrait Gallery'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        bar = eng.getRoomByName('Bar')
        gallery = eng.getRoomByName('Portrait Gallery')
        currRoom = eng.getCurrentRoom()
        if currRoom == bar:
            return eng.goToRoom(gallery)
        else:
            return eng.goToRoom(bar)

    def look(self):
        return self.descriptions['desc']


barGalleryDoor = BarGalleryDoor()
eng.setupDoor(barGalleryDoor)
コード例 #15
0
            if otherThing.name == 'bone key':
                return self._unlockDoor()
            else:
                return self.descriptions['unlockFail']
        else:
            return self.descriptions['alreadyOpen']

    def go(self):
        if self.properties['locked']:
            return self.descriptions['lockedDoor']
        library = eng.getRoomByName('Library')
        secretRoom = eng.getRoomByName('Secret Room')
        currRoom = eng.getCurrentRoom()
        if currRoom == library:
            return eng.goToRoom(secretRoom)
        else:
            return eng.goToRoom(library)

    def look(self):
        return self.descriptions['desc']

    def _unlockDoor(self):
        self.properties['locked'] = False
        secretRoom = eng.getRoomByName('Secret Room')
        secretRoom.visible = True
        return self.descriptions['unlockSuccess']


librarySecretRoomDoor = LibrarySecretRoomDoor()
eng.setupDoor(librarySecretRoomDoor)
コード例 #16
0
import eng


class BilliardRoomConservatoryDoor:
    name = 'billiardRoomConservatoryDoor'
    visible = True
    aliases = ['door']
    roomConnections = {'east': 'Conservatory', 'west': 'Billiard Room'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        billiardRoom = eng.getRoomByName('Billiard Room')
        conservatory = eng.getRoomByName('Conservatory')
        currRoom = eng.getCurrentRoom()
        if currRoom == billiardRoom:
            return eng.goToRoom(conservatory)
        else:
            return eng.goToRoom(billiardRoom)

    def look(self):
        return self.descriptions['desc']


billiardRoomConservatoryDoor = BilliardRoomConservatoryDoor()
eng.setupDoor(billiardRoomConservatoryDoor)
コード例 #17
0
ファイル: woodenDoor.py プロジェクト: kniers/Capstone
    def open(self, ind):
        if self.properties["locked"] and ind == None:
            return "It's locked. How will you open it?"
        if self.properties["locked"]:
            doorKey = eng.getItemByName("door key")
            silverKey = eng.getItemByName("silver key")
            if ind == doorKey:
                self.properties["locked"] = False
                return "You used to door key to unlock the door"
            elif ind == silverKey:
                return "You try the silver key from the hole, but it doesn't fit"
            else:
                return "That didn't work"
        else:
            return "It's already open"

    def go(self):
        if self.properties["locked"]:
            return "The door is locked"
        else:
            currentRoom = eng.getCurrentRoom()
            endRoom = eng.getRoomByName("endRoom")
            dungeon = eng.getRoomByName("dungeon")
            if currentRoom == dungeon:
                return eng.goToRoom(endRoom)
            else:
                return eng.goToRoom(dungeon)


eng.setupDoor(woodenDoor())
コード例 #18
0
ファイル: secondBedDoor.py プロジェクト: kniers/Capstone
import eng


class SecondBedDoor:
    name = 'secondBedDoor'
    visible = True
    aliases = ['door']
    roomConnections = {'east': 'Hallway', 'west': 'Second Bedroom'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It's from the hall to the guest bedroom."
    }
    properties = {'locked': False}

    def go(self):
        bedroom = eng.getRoomByName('Second Bedroom')
        hall = eng.getRoomByName('Hallway')
        currRoom = eng.getCurrentRoom()
        if currRoom == bedroom:
            return eng.goToRoom(hall)
        else:
            return eng.goToRoom(bedroom)

    def look(self):
        return self.descriptions['desc']


secondBedDoor = SecondBedDoor()
eng.setupDoor(secondBedDoor)
コード例 #19
0
import eng


class BallroomBathroomDoor:
    name = 'ballroomBathroomDoor'
    visible = True
    aliases = ['door', 'bathroom door']
    roomConnections = {'east': 'Ballroom', 'west': 'Bathroom'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        ballroom = eng.getRoomByName('Ballroom')
        bathroom = eng.getRoomByName('Bathroom')
        currRoom = eng.getCurrentRoom()
        if currRoom == ballroom:
            return eng.goToRoom(bathroom)
        else:
            return eng.goToRoom(ballroom)

    def look(self):
        return self.descriptions['desc']


ballroomBathroomDoor = BallroomBathroomDoor()
eng.setupDoor(ballroomBathroomDoor)
コード例 #20
0
import eng

class LibraryBilliardRoomDoor:
	name = 'libraryBilliardRoomDoor'
	visible = True 
	aliases = ['door']
	roomConnections = {'east': 'Billiard Room', 'west': 'Library'}
	descriptions = {'desc': "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."}
	properties = {'locked': False}
	
	
	def go(self):
		library = eng.getRoomByName('Library')
		billiardRoom = eng.getRoomByName('Billiard Room')
		currRoom = eng.getCurrentRoom()
		if currRoom == library:
			return eng.goToRoom(billiardRoom)
		else:
			return eng.goToRoom(library)


	def look(self):
		return self.descriptions['desc']


libraryBilliardRoomDoor = LibraryBilliardRoomDoor()
eng.setupDoor(libraryBilliardRoomDoor)
コード例 #21
0
import eng


class officeDoor:
    name = 'officeDoor'
    visible = True
    aliases = ['door']
    roomConnections = {'north': 'Hallway', 'south': 'Office'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It's from the hall to the office."
    }
    properties = {'locked': False}

    def go(self):
        office = eng.getRoomByName('Office')
        hall = eng.getRoomByName('Hallway')
        currRoom = eng.getCurrentRoom()
        if currRoom == office:
            return eng.goToRoom(hall)
        else:
            return eng.goToRoom(office)

    def look(self):
        return self.descriptions['desc']


officeDoor = officeDoor()
eng.setupDoor(officeDoor)
コード例 #22
0
import eng


class ConservatoryGardensDoor:
    name = 'conservatoryGardensDoor'
    visible = True
    aliases = ['door']
    roomConnections = {'north': 'Gardens', 'south': 'Conservatory'}
    descriptions = {
        'desc':
        "Upon further inspection... there's nothing special about this door. It looks like any other door you've ever seen."
    }
    properties = {'locked': False}

    def go(self):
        conservatory = eng.getRoomByName('Conservatory')
        gardens = eng.getRoomByName('Gardens')
        currRoom = eng.getCurrentRoom()
        if currRoom == conservatory:
            return eng.goToRoom(gardens)
        else:
            return eng.goToRoom(conservatory)

    def look(self):
        return self.descriptions['desc']


conservatoryGardensDoor = ConservatoryGardensDoor()
eng.setupDoor(conservatoryGardensDoor)
コード例 #23
0
ファイル: masterBedDoor.py プロジェクト: kniers/Capstone
        self.properties['locked'] = False
        hall = eng.getRoomByName('Hallway')
        hall.visible = True
        return self.descriptions['unlockSuccess']

    def open(self, otherThing):
        if self.properties['locked']:
            if otherThing is None:
                key = eng.getItemByName('spare key')
                if eng.inInventory(key):
                    return self._unlockDoor()
                else:
                    return self.descriptions['unlockFail']
            if otherThing.name == 'spare key':
                return self._unlockDoor()
            else:
                return self.descriptions['unlockFail']
        else:
            return self.descriptions['alreadyOpen']

    # get connection from the perspective of the room the player is currently in
    def getConnection(self, direction):
        if direction in self.roomConnections:
            return self.roomConnections[direction]
        else:
            return 'No room in that direction'


masterBedDoor = masterBedDoor()
eng.setupDoor(masterBedDoor)