update litris with board detection
This commit is contained in:
29
litris.py
29
litris.py
@@ -27,6 +27,7 @@ class Litris(GameBase):
|
||||
self.stone_id_thread = NewStoneID()
|
||||
|
||||
self.move_mode = 1
|
||||
self.moved_around_full = False
|
||||
|
||||
self.field_state_storage = {
|
||||
1: self.field,
|
||||
@@ -35,14 +36,18 @@ class Litris(GameBase):
|
||||
4: self.field
|
||||
}
|
||||
|
||||
def reset(self):
|
||||
self.field.reset_field()
|
||||
self.field.cleared_rows = 1
|
||||
self.move_mode = 1
|
||||
self.moved_around_full = False
|
||||
|
||||
def assess_playfield_and_make_move(self):
|
||||
last_letter_received = time()
|
||||
while True:
|
||||
if self.stone_id_thread.get_pick_up_status() == False:
|
||||
if (time() - last_letter_received) >= 5:
|
||||
self.field.reset_field()
|
||||
self.field.cleared_rows = 1
|
||||
self.move_mode = 1
|
||||
self.reset()
|
||||
last_letter_received = time()
|
||||
self.dig_point(1500, 980, 100)
|
||||
if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused':
|
||||
@@ -99,11 +104,27 @@ class Litris(GameBase):
|
||||
self.stone_id_thread.set_pick_up_status(False)
|
||||
|
||||
def update_field_with_stored_edges(self):
|
||||
if self.move_mode == 4:
|
||||
if self.move_mode == 1 and self.moved_around_full:
|
||||
state_copy = Field.rotate_90_degree_clckwise(copy(self.field_state_storage[2].state))
|
||||
for i in range(11,20,1):
|
||||
for e in range(0,2,1):
|
||||
self.field.state[i][e] = state_copy[i][e]
|
||||
elif self.move_mode == 2 and self.moved_around_full:
|
||||
state_copy = Field.rotate_90_degree_clckwise(copy(self.field_state_storage[3].state))
|
||||
for i in range(11,20,1):
|
||||
for e in range(0,2,1):
|
||||
self.field.state[i][e] = state_copy[i][e]
|
||||
elif self.move_mode == 3 and self.moved_around_full:
|
||||
state_copy = Field.rotate_90_degree_clckwise(copy(self.field_state_storage[4].state))
|
||||
for i in range(11, 20, 1):
|
||||
for e in range(0, 2, 1):
|
||||
self.field.state[i][e] = state_copy[i][e]
|
||||
elif self.move_mode == 4:
|
||||
state_copy = Field.rotate_90_degree_clckwise(copy(self.field_state_storage[1].state))
|
||||
for i in range(11,20,1):
|
||||
for e in range(0,2,1):
|
||||
self.field.state[i][e] = state_copy[i][e]
|
||||
self.moved_around_full = True
|
||||
|
||||
def drop_down(self):
|
||||
if self.move_mode == 1:
|
||||
|
||||
Reference in New Issue
Block a user