From 583bfb9b9714f524e096b7e4aa7842990442a1e7 Mon Sep 17 00:00:00 2001 From: Aineopintojen-harjoitustyo-Algoritmit-j Date: Sun, 18 Feb 2024 15:40:21 +0200 Subject: Improve comments on bots. --- src/miinaharava/bots/simple.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'src/miinaharava/bots/simple.py') diff --git a/src/miinaharava/bots/simple.py b/src/miinaharava/bots/simple.py index 07ed954..c321bd9 100644 --- a/src/miinaharava/bots/simple.py +++ b/src/miinaharava/bots/simple.py @@ -1,5 +1,5 @@ """ bots/simple.py - yksinkertainen botti joka etsii vain yhdeltä laatalta """ -from random import sample +from random import choice from .bot import Bot @@ -12,20 +12,23 @@ class SimpleBot(Bot): joko miinoja tai vapaita. Yhdistetään ne kyseisiin joukkoihin. """ tiles = self.get_interesting_tiles() for tile in tiles: - c = self.get_value(tile) - nbrs = self.get_neighbours(tile) - self.remove_known_safe_tiles(nbrs) - c -= self.remove_mine_tiles(nbrs) - if c == 0: - self.safe_tiles |= nbrs - if c == len(nbrs): - self.mine_tiles |= nbrs + unknowns, minecount = self.get_unknowns_and_minecount(tile) + if minecount == 0: + self.safe_tiles |= unknowns + if minecount == len(unknowns): + self.mine_tiles |= unknowns return self.saved_hints() + def get_unknowns_and_minecount(self, tile): + """ Palauttaa tuntemattomat naapurit ja niissä olevien miinojen + määrän """ + minecount = self.get_value(tile) + unknowns = self.get_neighbours(tile) + self.remove_known_safe_tiles(unknowns) + minecount -= self.remove_mine_tiles(unknowns) + return unknowns, minecount + def lucky_guess(self): """ Arvotaan laatta tuntemattomista ja lisätään vapaiden joukkoon """ - tiles = list(self.get_unknown_tiles()) - if tiles: - self.safe_tiles.add(sample(tiles,1)[0]) - return True - return False + self.safe_tiles.add(choice(list(self.get_unknown_tiles()))) + return True -- cgit v1.2.3