added counterreset on explosive stuck

This commit is contained in:
2022-10-15 21:41:31 +02:00
parent d67b2d7947
commit 3b43135383
2 changed files with 14 additions and 6 deletions

View File

@@ -136,7 +136,7 @@ class Field:
if self.reset_counter == 1:
pass
elif self.reset_counter == 2:
self.detonate_explosive_when_stuck(new_observation)
if self.detonate_explosive_when_stuck(new_observation):
self.reset_counter = 0
return
elif self.reset_counter >= 3:
@@ -267,18 +267,22 @@ class Field:
if self.local_pos_checks(state, e, i, 1, 0, self.colors):
dest_pt = self.get_click_point(self.data_coordinates[e + 1, i])
self.move_tile(src_pt, dest_pt)
return True
elif self.local_pos_checks(state, e, i, 0, 1, self.colors):
dest_pt = self.get_click_point(self.data_coordinates[e, i + 1])
self.move_tile(src_pt, dest_pt)
return True
elif self.local_pos_checks(state, e, i, -1, 0, self.colors):
dest_pt = self.get_click_point(self.data_coordinates[e - 1, i])
self.move_tile(src_pt, dest_pt)
return True
elif self.local_pos_checks(state, e, i, 0, -1, self.colors):
dest_pt = self.get_click_point(self.data_coordinates[e, i - 1])
self.move_tile(src_pt, dest_pt)
return True
else:
continue
return
return False
def check_explosives(self, state, e, i):
for explosive in self.explosives:

View File

@@ -117,7 +117,7 @@ class Field:
if self.reset_counter == 1:
pass
elif self.reset_counter == 2:
self.detonate_explosive_when_stuck(new_observation)
if self.detonate_explosive_when_stuck(new_observation):
self.reset_counter = 0
return
elif self.reset_counter >= 3:
@@ -258,18 +258,22 @@ class Field:
if self.local_pos_checks(state, e, i, 1, 0, self.colors):
src_pt = self.get_click_point(self.data_coordinates[e + 1, i])
self.move_tile(src_pt, dest_pt)
return True
elif self.local_pos_checks(state, e, i, 0, 1, self.colors):
src_pt = self.get_click_point(self.data_coordinates[e, i + 1])
self.move_tile(src_pt, dest_pt)
return True
elif self.local_pos_checks(state, e, i, -1, 0, self.colors):
src_pt = self.get_click_point(self.data_coordinates[e - 1, i])
self.move_tile(src_pt, dest_pt)
return True
elif self.local_pos_checks(state, e, i, 0, -1, self.colors):
src_pt = self.get_click_point(self.data_coordinates[e, i - 1])
self.move_tile(src_pt, dest_pt)
return True
else:
continue
return
return False
def check_explosives(self, state, e, i):
for explosive in self.explosives: