summaryrefslogtreecommitdiff
path: root/bots/bot.py
blob: 5ad0bd2090932d2cde7429636d445466cadcf611 (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
""" bots/bot.py - bottien kantaisä """
from tui import Action

class Bot():
    """ Bot - perusluokka perittäväksi """
    def __init__(self, **opts):
        self.uncertain = opts['uncertain'] if 'uncertain' in opts else False
        self.hints = 0

    def neighbours(self,dx,dy,x,y):
        """ palauttaa listana viereiset koordinaatit """
        offsets = (
            (-1, -1), ( 0, -1), ( 1, -1),
            (-1,  0),           ( 1,  0),
            (-1,  1), ( 0,  1), ( 1,  1),
        )
        coords=[]
        for ox, oy in offsets:
            if ox+x in range(dx):
                if oy+y in range(dy):
                    coords.append((ox+x, oy+y))
        return coords

    def coordinates_to_tiles(self, matrix, coords):
        """ lukee koordinaateissa olevien ruutujen arvot listaksi """
        return [matrix[x][y] for x,y in coords]

    def hint(self, matrix, cursor_x, cursor_y):
        """ antaa vinkin. tässä tapauksessa ei mitään """
        # pylint: disable = unused-argument
        self.hints += 1
        return Action.NOOP, cursor_x, cursor_y