bensimmo

OOP 4.7

Jan 13th, 2021 (edited)
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.55 KB | None | 0 0
  1. class Room():
  2.    
  3.     number_of_rooms = 0
  4.    
  5.     def __init__(self, room_name):
  6.         self._name = room_name
  7.         self._description = None
  8.         self.linked_rooms = {}
  9.         self._character = None
  10.         Room.number_of_rooms = Room.number_of_rooms + 1
  11.    
  12.     @property
  13.     def description(self):
  14.         return self._description
  15.    
  16.     @description.setter
  17.     def description(self, room_description):
  18.         self._description = room_description
  19.  
  20.     @property
  21.     def name(self):
  22.         return self._name
  23.    
  24.     @name.setter
  25.     def name(self, room_name):
  26.         self._name = room_name
  27.  
  28.     @property
  29.     def character(self):
  30.         return self._character
  31.    
  32.     @character.setter
  33.     def character(self, character_name):
  34.         self._character = character_name
  35.  
  36. #    @property
  37. #    def link_room(self):
  38. #        return self._linked_rooms
  39.  
  40.     def link_room(self, room_to_link, direction):
  41.         self.linked_rooms[direction] = room_to_link
  42.    
  43.     def describe(self):
  44.         print(self.description)
  45.  
  46.     def get_details(self):
  47.         print("\n==")
  48.         print(f"You are in the {self._name}, it is {self._description}.")
  49.         print("~~")
  50.         for direction in self.linked_rooms:
  51.             room = self.linked_rooms[direction]
  52.             print( f"The {room._name} is {direction}")
  53.  
  54.     def move(self, direction):
  55.         if direction in self.linked_rooms:
  56.             return self.linked_rooms[direction]
  57.         else:
  58.             print("You can't go that way")
  59.             return self
  60.  
  61.  
Add Comment
Please, Sign In to add comment