diff options
author | Aineopintojen-harjoitustyo-Algoritmit-j <github-hy-tiralabra@v.hix.fi> | 2024-01-27 13:31:17 +0200 |
---|---|---|
committer | Aineopintojen-harjoitustyo-Algoritmit-j <github-hy-tiralabra@v.hix.fi> | 2024-01-27 13:31:17 +0200 |
commit | 53bd62f3a55cde1dce09bdb867dfe0b84d578227 (patch) | |
tree | 5a5ed821eedb946eeea117f8fea225ccf00937c5 | |
parent | d68d1a33f52ad9ddeb97c6e45f1e66cdf27c67f5 (diff) |
Adding exit codes and batch runner script.
-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 """ |