added async stone detection thread

This commit is contained in:
2023-07-24 13:22:44 +02:00
parent f35fe32264
commit 687218e29d
3 changed files with 67 additions and 184 deletions

View File

@@ -167,20 +167,63 @@ class Tetromino():
self.state = [row[::-1] for row in self.state[::-1]]
return self
def get_offset_column(self, rotation):
offset_map= {
'i': {0: 8, 1: 9, 2: 9, 3: 9},
'a': {0: 9, 1: 9, 2: 9, 3: 9},
'b': {0: 9, 1: 9, 2: 9, 3: 9},
'c': {0: 10, 1: 10, 2: 10, 3: 10},
'o': {0: 9, 1: 9, 2: 9, 3: 9},
'd': {0: 9, 1: 9, 2: 9, 3: 9},
't': {0: 9, 1: 9, 2: 8, 3: 9},
's': {0: 9, 1: 9, 2: 9, 3: 9},
'z': {0: 9, 1: 9, 2: 9, 3: 9},
'j': {0: 8, 1: 9, 2: 9, 3: 9},
'l': {0: 8, 1: 9, 2: 9, 3: 9}
}
def get_offset_column(self, rotation, mode):
if mode == 1:
offset_map= {
'i': {0: 8, 1: 9, 2: 8, 3: 9},
'a': {0: 9, 1: 9, 2: 9, 3: 9},
'b': {0: 9, 1: 9, 2: 9, 3: 9},
'c': {0: 10, 1: 10, 2: 10, 3: 10},
'o': {0: 9, 1: 9, 2: 9, 3: 9},
'd': {0: 9, 1: 9, 2: 9, 3: 9},
't': {0: 9, 1: 9, 2: 8, 3: 9},
's': {0: 9, 1: 9, 2: 9, 3: 9},
'z': {0: 9, 1: 9, 2: 9, 3: 9},
'j': {0: 8, 1: 9, 2: 9, 3: 9},
'l': {0: 8, 1: 9, 2: 9, 3: 9}
}
elif mode == 2:
offset_map= {
'i': {0: 9, 1: 8, 2: 9, 3: 8},
'a': {0: 9, 1: 9, 2: 9, 3: 9},
'b': {0: 9, 1: 9, 2: 9, 3: 9},
'c': {0: 10, 1: 10, 2: 10, 3: 10},
'o': {0: 9, 1: 9, 2: 9, 3: 9},
'd': {0: 9, 1: 9, 2: 9, 3: 9},
't': {0: 9, 1: 9, 2: 9, 3: 8},
's': {0: 9, 1: 9, 2: 9, 3: 9},
'z': {0: 9, 1: 9, 2: 9, 3: 9},
'j': {0: 9, 1: 8, 2: 9, 3: 9},
'l': {0: 9, 1: 8, 2: 9, 3: 9}
}
elif mode == 3:
offset_map= {
'i': {0: 8, 1: 9, 2: 8, 3: 9},
'a': {0: 9, 1: 9, 2: 9, 3: 9},
'b': {0: 9, 1: 9, 2: 9, 3: 9},
'c': {0: 10, 1: 10, 2: 10, 3: 10},
'o': {0: 9, 1: 9, 2: 9, 3: 9},
'd': {0: 9, 1: 9, 2: 9, 3: 9},
't': {0: 9, 1: 9, 2: 8, 3: 9},
's': {0: 9, 1: 9, 2: 9, 3: 9},
'z': {0: 9, 1: 9, 2: 9, 3: 9},
'j': {0: 8, 1: 9, 2: 9, 3: 9},
'l': {0: 8, 1: 9, 2: 9, 3: 9}
}
else: #mode == 4:
offset_map = {
'i': {0: 8, 1: 9, 2: 8, 3: 9},
'a': {0: 9, 1: 9, 2: 9, 3: 9},
'b': {0: 9, 1: 9, 2: 9, 3: 9},
'c': {0: 10, 1: 10, 2: 10, 3: 10},
'o': {0: 9, 1: 9, 2: 9, 3: 9},
'd': {0: 9, 1: 9, 2: 9, 3: 9},
't': {0: 9, 1: 9, 2: 8, 3: 9},
's': {0: 9, 1: 9, 2: 9, 3: 9},
'z': {0: 9, 1: 9, 2: 9, 3: 9},
'j': {0: 8, 1: 9, 2: 9, 3: 9},
'l': {0: 8, 1: 9, 2: 9, 3: 9}
}
return offset_map.get(self.letter)[rotation]