/** * Parse the options. */ public function parse_options() { $getopt = new Getopt([['d', 'directory', Getopt::REQUIRED_ARGUMENT, 'Run under given directory'], ['l', 'level', Getopt::REQUIRED_ARGUMENT, 'Practice level on epic'], ['s', 'skip', Getopt::NO_ARGUMENT, 'Skip user input'], ['t', 'time', Getopt::REQUIRED_ARGUMENT, 'Delay each turn by seconds'], ['L', 'locale', Getopt::REQUIRED_ARGUMENT, 'Specify locale like en_US'], ['h', 'help', Getopt::NO_ARGUMENT, 'Show this message']]); try { $getopt->parse(); } catch (\Exception $e) { echo $e->getMessage() . "\n"; exit; } if ($getopt->getOption('h')) { echo $getopt->getHelpText(); exit; } if ($getopt->getOption('d')) { Config::$path_prefix = $getopt->getOption('d'); } if ($getopt->getOption('l')) { Config::$practice_level = $getopt->getOption('l'); } if ($getopt->getOption('s')) { Config::$skip_input = true; } if (!is_null($getopt->getOption('t'))) { Config::$delay = $getopt->getOption('t'); } // get locale from $LANG like en_US.UTF8 list(Config::$locale) = explode('.', getenv('LANG')); if ($getopt->getOption('L')) { Config::$locale = $getopt->getOption('L'); } }