update litris with board detection
This commit is contained in:
5
field.py
5
field.py
@@ -151,6 +151,11 @@ class Field():
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def check_crucial_pos_to_be_free(self):
|
||||||
|
if self.field.state[19][9] == ' ' and self.field.state[19][10] == ' ' and self.field.state[18][9] == ' ' and self.field.state[18][10] == ' ':
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
def predict_gaps_in_next_rotation(self):
|
def predict_gaps_in_next_rotation(self):
|
||||||
tmp_state = copy(self.state)
|
tmp_state = copy(self.state)
|
||||||
tmp_state = self.rotate_90_degree_anticlckwise(tmp_state)
|
tmp_state = self.rotate_90_degree_anticlckwise(tmp_state)
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ class Litris(GameBase):
|
|||||||
self.move_stone(column - offset_col, rotation)
|
self.move_stone(column - offset_col, rotation)
|
||||||
self.drop_down()
|
self.drop_down()
|
||||||
print(self.field)
|
print(self.field)
|
||||||
if self.field.get_line_count() >= 6 and self.field.height() <= 1 and self.field.state[19][9] == ' ':
|
if self.field.get_line_count() >= 6 and self.field.height() <= 2 and self.field.check_crucial_pos_to_be_free():
|
||||||
if self.field.predict_gaps_in_next_rotation() <= 3:
|
if self.field.predict_gaps_in_next_rotation() <= 3:
|
||||||
self.update_move_mode()
|
self.update_move_mode()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user