diff options
-rw-r--r-- | __main__.py | 18 | ||||
-rw-r--r-- | app.py | 6 | ||||
-rw-r--r-- | tui/__init__.py | 1 | ||||
-rw-r--r-- | tui/autotui.py | 17 |
4 files changed, 37 insertions, 5 deletions
diff --git a/__main__.py b/__main__.py index 2df26fa..697ceb4 100644 --- a/__main__.py +++ b/__main__.py @@ -8,19 +8,31 @@ parser = ArgumentParser( ) parser.add_argument( '-b', '--beginner', - help='Aseta aloittelijan vaikeustaso (oletus)', + help='Asettaa aloittelijan vaikeustason (oletus)', action='store_true', ) parser.add_argument( '-i', '--intermediate', - help='Aseta keskivaikea vaikeustaso', + help='Asettaa keskivaikean vaikeustaso', action='store_true' ) parser.add_argument( '-e', '--expert', - help='Aseta edistynyt vaikeustaso (vaatii 100 merkkiä leveän terminaalin)', + help='Asettaa edistyneen vaikeustason (vaatii 100 merkkiä leveän terminaalin)', action='store_true' ) +parser.add_argument( + '-a', '--auto', + help='Antaa botin pelata automaattisesti', + action='store_true' +) +parser.add_argument( + '-u', '--uncertain', + help='Antaa botille luvan tehdä myös epävarmoja valintoja', + action='store_true' +) + + args = parser.parse_args() @@ -1,6 +1,6 @@ """ app.py - pääohjelma """ from board import Board, Level -from tui import Tui +from tui import Tui, AutoTui from game import Game from bots import BadBot @@ -9,14 +9,16 @@ class App: """ App - Luokka pääohjelmalle""" def __init__(self, args=None): level=Level.BEGINNER + ui_class=Tui if args: level = Level.EXPERT if args.expert else level level = Level.INTERMEDIATE if args.intermediate else level level = Level.BEGINNER if args.beginner else level + ui_class = AutoTui if args.auto else ui_class self.board = Board(level=level) self.bot = BadBot() - self.ui = Tui(self.bot) + self.ui = ui_class(self.bot) self.game = Game(self.board,self.ui) def run(self): diff --git a/tui/__init__.py b/tui/__init__.py index c1c5b91..f39cd45 100644 --- a/tui/__init__.py +++ b/tui/__init__.py @@ -1,3 +1,4 @@ """ tui - hoitaa käyttäjälle katseltavaa ja havaitsee syötteet """ from .tui import Tui +from .autotui import AutoTui from .static import Action diff --git a/tui/autotui.py b/tui/autotui.py new file mode 100644 index 0000000..dbda560 --- /dev/null +++ b/tui/autotui.py @@ -0,0 +1,17 @@ +""" autotui - pelaa botin antamat vinkit jonka jälkeen käyttäjän """ +from .tui import Tui +from .static import Action + +class AutoTui(Tui): + """ Tui - Luokka joka tekee botin vinkit ensin """ + def matrix_selector(self, matrix, x, y): + """ yritetään pyydellä botilta vinkkiä ensin """ + if self.bot is not None: + action, x, y = self.bot.hint(matrix, x, y) + if action != Action.NOOP: + self.draw_matrix(matrix, -1, -1) + if action==Action.SAFE: + action = Action.OPEN + return action, x, y + + return super().matrix_selector(matrix, x, y) |