stephancom/battleship

View on GitHub
bin/battleship

Summary

Maintainability
Test Coverage
#!/usr/bin/env ruby

#  _           _   _ by_stephan.com_     _
# | |__   __ _| |_| |_| | ___  ___| |__ (_)_ __
# | '_ \ / _` | __| __| |/ _ \/ __| '_ \| | '_ \
# | |_) | (_| | |_| |_| |  __/\__ \ | | | | |_) |
# |_.__/ \__,_|\__|\__|_|\___||___/_| |_|_| .__/
#                                         |_|

require 'methadone'
require 'pry'
require 'battleship'

include Methadone::Main
include Methadone::CLILogging
include Battleship

main do
  puts 'Welcome to Battleship'

  p1 = Player.new('Alice')
  p2 = Player.new('Bob')
  p1.opponent = p2
  p2.opponent = p1
  [p1, p2].cycle do |player|
    Battleship.message "#{player.name}'s turn"
    Battleship.message "It's a hit!" if player.move!
    puts player.opponent_grid
    if player.opponent.lost?
      puts "#{player.name} won!"
      break 
    end
  end
end

description 'The classic game of Battleship'

version Battleship::VERSION, compact: true

go!