summaryrefslogtreecommitdiff
path: root/src/room.py
blob: ca5430a7e338a224ec87ad878e2389eb15765095 (plain)
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
import json
import sqlite3

def get_room(id, dbfile):
    ret = None
    
    con = sqlite3.connect(dbfile)
    
    for row in con.execute("select json from rooms where id=?",(id,)):
    
        jsontext = row[0]
        d = json.loads(jsontext)
        d['id'] = id
        ret = Room(**d)
        break
        
    con.close()
    
    return ret

class Room():
    def __init__(self, id=0, name="A Room", description="An empty room", neighbors={}):
        self.id = id
        self.name = name
        self.description = description
        self.neighbors = neighbors
        
    def _neighbor(self, direction):
        if direction in self.neighbors:
            return self.neighbors[direction]
        else:
            return None
        
    def north(self):
        return self._neighbor('n')
    
    def south(self):
        return self._neighbor('s')
        
    def east(self):
        return self._neighbor('e')
        
    def west(self):
        return self._neighbor('w')