diff options
author | Aineopintojen-harjoitustyo-Algoritmit-j <github-hy-tiralabra@v.hix.fi> | 2024-02-18 15:40:21 +0200 |
---|---|---|
committer | Aineopintojen-harjoitustyo-Algoritmit-j <github-hy-tiralabra@v.hix.fi> | 2024-02-18 15:40:21 +0200 |
commit | 583bfb9b9714f524e096b7e4aa7842990442a1e7 (patch) | |
tree | 6366e507cfbd2a1ff831f70508d0897bbeccf212 /src/miinaharava/bots/simple.py | |
parent | 890fd029b3ee1dee4a0c1c2430b061cd66b8b8e8 (diff) |
Improve comments on bots.
Diffstat (limited to 'src/miinaharava/bots/simple.py')
-rw-r--r-- | src/miinaharava/bots/simple.py | 31 |
1 files changed, 17 insertions, 14 deletions
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 |