-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathroom.py
61 lines (47 loc) · 1.63 KB
/
room.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
class Room:
number_of_rooms = 0
def __init__(self, room_name):
self.name = room_name
self.description = None
self.linked_rooms = {}
self.character = None
self._room_item = None
Room.number_of_rooms += 1
def set_description(self, room_description):
self.description = room_description
def get_description(self):
return self.description
def set_name(self, room_name):
self.name = room_name
def get_name(self):
return self.name
def set_character(self, new_character):
self.character = new_character
def get_character(self):
return self.character
def describe(self):
print(self.description)
@property
def room_item(self):
return self._room_item
@room_item.setter
def room_item(self, room_item):
self._room_item = room_item
def link_room(self, room_to_link, direction):
self.linked_rooms[direction] = room_to_link
# print( self.name + " linked rooms :" + repr(self.linked_rooms) )
def get_details(self):
print(self.name)
print("--------------------")
print(self.description)
if self.room_item is not None:
print(f"Item to pick: {self.room_item.get_name()}")
for direction in self.linked_rooms:
room = self.linked_rooms[direction]
print("The " + room.get_name() + " is " + direction)
def move(self, direction):
if direction in self.linked_rooms:
return self.linked_rooms[direction]
else:
print("You can't go that way")
return self