diff options
-rw-r--r-- | README.md | 6 | ||||
-rw-r--r-- | __main__.py | 6 | ||||
-rw-r--r-- | app.py | 1 | ||||
-rw-r--r-- | batch/100-run-beginner-bad.sh | 8 | ||||
-rw-r--r-- | tui/autotui.py | 10 |
5 files changed, 27 insertions, 4 deletions
@@ -11,11 +11,11 @@ Miinaharava ratkaisijalla ### Asenna `git clone https://github.com/Aineopintojen-harjoitustyo-Algoritmit-j/miinaharava` -### Aja +### Pelaa `python3 miinaharava` ### Käyttöohjeet `python3 miinaharava -h` -### Automaattipelin suoritusesimerkki -`python3 miinaharava -i -a -u` +### Skripti joka pelaa automaattisesti 100 peliä aloittelijan vaikeustasolla +`bash miinaharava/batch/100-run-beginner-bad.sh` diff --git a/__main__.py b/__main__.py index edf3888..627f724 100644 --- a/__main__.py +++ b/__main__.py @@ -1,4 +1,5 @@ """ __main__.py - Tästä suoritus alkaa """ +import sys from argparse import ArgumentParser from app import App @@ -35,4 +36,7 @@ parser.add_argument( args = parser.parse_args() app = App(args) -app.run() +is_win = app.run() +del app + +sys.exit(not is_win) # Exit koodeissa 0 on onnistunut suoritus @@ -27,3 +27,4 @@ class App: """ käynnistää pelin """ while self.game.next(): pass + return self.board.is_winning() diff --git a/batch/100-run-beginner-bad.sh b/batch/100-run-beginner-bad.sh new file mode 100644 index 0000000..f66ea22 --- /dev/null +++ b/batch/100-run-beginner-bad.sh @@ -0,0 +1,8 @@ +#!/bin/bash +let COUNT=100 +let WINS=0 +for ((i=0;i<COUNT;i++)); do + python3 miinaharava -b -a -u && let WINS++; +done +let PERCENT=100*WINS/COUNT +echo -ne "\n\n## Voittoja $WINS/$COUNT ($PERCENT%)\n\n" diff --git a/tui/autotui.py b/tui/autotui.py index dbda560..ae5d58c 100644 --- a/tui/autotui.py +++ b/tui/autotui.py @@ -1,6 +1,7 @@ """ autotui - pelaa botin antamat vinkit jonka jälkeen käyttäjän """ from .tui import Tui from .static import Action +from .ansi import Ansi class AutoTui(Tui): """ Tui - Luokka joka tekee botin vinkit ensin """ @@ -15,3 +16,12 @@ class AutoTui(Tui): return action, x, y return super().matrix_selector(matrix, x, y) + + def show_board_with_text(self, matrix, x, y, text): + """ näyttää laudan, tekstin alla (ei odota nappia) """ + self.draw_matrix(matrix, x, y) + print(text) + Ansi.cup(1) + + def game_end(self, matrix): + """ pelin lopetus """ |