diff options
Diffstat (limited to 'cmdline.py')
-rw-r--r-- | cmdline.py | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/cmdline.py b/cmdline.py deleted file mode 100644 index 533c40f..0000000 --- a/cmdline.py +++ /dev/null @@ -1,117 +0,0 @@ -""" cmdline.py - komentorivin käsittely argparse moduulilla """ -import sys -from argparse import ArgumentParser - -from tui import KEY_DESCRIPTIONS - -parser = ArgumentParser( - prog='miinaharava', - description='Klassisen miinaharavapelin terminaali toteutus.', - add_help=False -) -level_group = parser.add_argument_group('Vaikeustaso') -level_group.add_argument( - '-i', '--intermediate', - help='keskivaikea (oletus on aloittelija)', - action='store_true' -) -level_group.add_argument( - '-e', '--expert', - help='edistynyt (vaatii 100 merkkiä leveän terminaalin)', - action='store_true' -) - - -custom_group = parser.add_argument_group('Mukautettu vaikeustaso') -def board_size(wxh_string): - """ parsija laudan koolle, että on varmasti muotoa {leveys}x{korkeys} """ - w, h = wxh_string.split('x') - return (int(w), int(h)) -custom_group.add_argument( - '-s', '--size', - metavar='<S>', - type= board_size, - dest='size', - help='Pelikentän koko, missä <S> on {leveys}x{korkeus}.' -) -custom_group.add_argument( - '-m', '--mines', - metavar='<M>', - type=int, - dest='mines', - help='Säätää pelilaulla olevien miinojen määrän <M>:ksi.', -) - - -hint_group = parser.add_argument_group('Tekoäly') -hint_group.add_argument( - '-a', '--auto', - dest='autoplay', - default=0, - action='count', - help='Pelaa tekoälyn vihjeet. [-aa] Pelaa myös epävarmat.' -) -hint_group.add_argument( - '-b', '--bot', metavar='<B>', - choices=range(3), - type=int, - default=2, - help='Valitsee tekoälyn <B>, missä: 0: Ei tekoälyä 1: Yksinkertainen, 2: DSSP (oletus)', -) -hint_group.add_argument( - '-d', '--delay', metavar='<D>', - type=float, - help='Odottaa ennen tekoälyn siirtoa <D> sadasosasekuntia.', -) - -batch_group = parser.add_argument_group('Automatisointi') -batch_group.add_argument( - '-q', '--quiet', - help='Tulostaa minimaalisesti (asettaa myös [-aa])', - action='store_true' -) -batch_group.add_argument( - '-c', '--count', - metavar='<C>', - type=int, - dest='count', - help='Suorittaa ohelmaa <C> kertaa ja tulostaa voitto-osuuden.', -) - -def filename( fn_string ): - """ filename - parser tyyppi joka testaa saako tiedoston auki """ - try: - with open(fn_string, "r", encoding="utf-8"): - pass - except FileNotFoundError as e: - raise ValueError from e - return fn_string -batch_group.add_argument( - '-f', '--file', - metavar='<F>', - type=filename, - dest='file', - help='Pelaa tiedostossa <F> olevat miinaharavakentät.', -) - -misc_group = parser.add_argument_group('Sekalaista') -misc_group.add_argument( - '-h', '--help', - help='Tulostaa tämän viestin', - action='store_true' -) -misc_group.add_argument( - '-k', '--keys', - help='Tulostaa pelin näppäinkartan.', - action='store_true' -) - -args = parser.parse_args() - -if args.help: - parser.print_help() - sys.exit() - -if args.keys: - print(end=KEY_DESCRIPTIONS) - sys.exit() |