brute-force funktioniert, 3x3 felder damit man es überhaupt brauchen kann

This commit is contained in:
Alfred Baumann
2026-06-08 14:25:34 +02:00
parent 6de80582d9
commit 21b9ce7ad7
4 changed files with 1032 additions and 11 deletions

View File

@@ -77,7 +77,16 @@ class NetGUI:
for y in range(height):
self.pieceSprites.add(PieceSprite(x, y))
def update_display(self, events: list[pygame.event.Event]):
self.pieceSprites.update(self.game, events)
for sprite in self.pieceSprites:
self.window.blit(sprite.image, sprite.rect)
pygame.display.flip()
def run_game(self):
current_solver = None
display_solver = False
while not self.game.solved():
events = pygame.event.get()
@@ -92,14 +101,17 @@ class NetGUI:
self.game.lock(event.x, event.y)
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_b:
BruteForceSolver(self.game).solve()
self.pieceSprites.update(self.game, events)
for sprite in self.pieceSprites:
self.window.blit(sprite.image, sprite.rect)
pygame.display.flip()
current_solver = BruteForceSolver(self.game).solve()
if event.key == pygame.K_d:
display_solver = not display_solver
if current_solver:
try:
_ = next(current_solver)
except StopIteration:
current_solver = None
if (not current_solver) or display_solver:
self.update_display(events)
sleep(2)
NetGUI(5, 5).run_game()
NetGUI(3, 3).run_game()