proper options parsing
This commit is contained in:
parent
a1f0d62984
commit
5ca2b0b27e
2 changed files with 30 additions and 8 deletions
|
@ -2,12 +2,13 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'gosu'
|
||||
require 'optparse'
|
||||
|
||||
require 'minehunt'
|
||||
|
||||
class GosuHunt < Gosu::Window
|
||||
def initialize( number_of_mines = 20 )
|
||||
@scale = 3
|
||||
def initialize( number_of_mines, scale )
|
||||
@scale = scale
|
||||
@sprite_size = 6
|
||||
|
||||
@number_of_mines = number_of_mines
|
||||
|
@ -114,7 +115,20 @@ class GosuHunt < Gosu::Window
|
|||
end
|
||||
end
|
||||
|
||||
number_of_mines = 20
|
||||
number_of_mines = ARGV.first.to_i if ARGV.length == 1
|
||||
options = { number_of_mines: 20,
|
||||
scale: 3 }
|
||||
OptionParser.new do |opts|
|
||||
opts.banner = 'Usage: gosuhunt <options>'
|
||||
|
||||
GosuHunt.new( number_of_mines ).show
|
||||
opts.on( '-m', '--mines INT' ) do |nb_mines|
|
||||
options[:number_of_mines] = nb_mines.to_i
|
||||
end
|
||||
|
||||
opts.on( '-s', '--scale INT' ) do |scale|
|
||||
options[:scale] = scale.to_i
|
||||
end
|
||||
end
|
||||
.parse!
|
||||
|
||||
GosuHunt.new( options[:number_of_mines], options[:scale] )
|
||||
.show
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
require 'curses'
|
||||
require 'optparse'
|
||||
|
||||
require 'minehunt'
|
||||
|
||||
|
@ -108,7 +109,14 @@ def ncurses_main( number_of_mines )
|
|||
exit!
|
||||
end
|
||||
|
||||
number_of_mines = 20
|
||||
number_of_mines = ARGV.first.to_i if ARGV.length == 1
|
||||
options = { number_of_mines: 20 }
|
||||
OptionParser.new do |opts|
|
||||
opts.banner = 'Usage: minehunt <options>'
|
||||
|
||||
ncurses_main( number_of_mines )
|
||||
opts.on( '-m', '--mines INT' ) do |nb_mines|
|
||||
options[:number_of_mines] = nb_mines.to_i
|
||||
end
|
||||
end
|
||||
.parse!
|
||||
|
||||
ncurses_main( options[:number_of_mines] )
|
||||
|
|
Loading…
Reference in a new issue