#!/usr/bin/ruby

require 'optparse'
require 'minesweeper'

options = {
  display_set: :emoji,
  mine_number: 3,
  rows:        5,
  cols:        10,
}

opt_parser = OptionParser.new do |opt|
  opt.banner = 'Usage: minesweeper [OPTIONS]'
  opt.separator ''
  opt.separator 'Options'

  opt.on('-d', '--display_set SET', 'display the playfield using text or emoji (default)') do |display_set|
    options[:display_set] = display_set.to_sym
  end

  opt.on('-m', '--mine_number NUMBER', 'number of mines') do |mine_number|
    options[:mine_number] = mine_number.to_i
  end

  opt.on('-r', '--rows NUMBER', 'number of rows') do |rows|
    options[:rows] = rows.to_i
  end

  opt.on('-c', '--cols NUMBER', 'number of columns') do |cols|
    options[:cols] = cols.to_i
  end

  opt.on('-h', '--help', 'this message') do |environment|
    puts opt_parser
    exit
  end
end
opt_parser.parse!

Minesweeper::Game.new(options).play
