aboutsummaryrefslogtreecommitdiff
path: root/turtetris_master/screen_checker.py
blob: d8ed3278083cfc0a3f5a9968dc151fb5fae43e6f (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
class ScreenChecker:
    "Simple screen checker showing lines and updates"

    def __init__(self, matrix):
        "Initialize it for given matrix"
        if matrix.height >= matrix.width:
            raise Exception('ScreenChecker doesn\'t support wide matrix.')
        self.matrix = matrix
        self.__tick__ = 0
        self.__pos__ = [[0, 0] for _ in range(matrix.height)]
        for i in range(0, matrix.height):
            self.__pos__[i][1] = i
            for y in range(0, i):
                matrix.pixel(i, y, 'green')

    def __pos_inc__(self, p):
        p += 1
        if p >= self.matrix.width:
            p = 0
        return p

    def tick(self):
        self.__tick__ += 1
        if self.__tick__ > 60:
            self.__tick__ = 0
            for i in range(0, self.matrix.height):
                self.matrix.pixel(self.__pos__[i][0], i, '000000')
                self.__pos__[i][0] = self.__pos_inc__(self.__pos__[i][0])
                self.__pos__[i][1] = self.__pos_inc__(self.__pos__[i][1])
                self.matrix.pixel(self.__pos__[i][1], i, color='green')
            return True
        else:
            return False