class BattleshipsGame

Attributes

boat_1[R]
grid[R]
guesses_left[RW]

Public Class Methods

new() click to toggle source
# File lib/devlin_battleships.rb, line 10
def initialize
  @guesses_left = 5
  @grid = Grid.new
  @boat_1 = Boat.new([2,3])
  @boat_2 = Boat.new([16,17])
  @boat_list = BoatList.new([@boat_1,@boat_2])
end

Public Instance Methods

boat_sunk?(grid_point) click to toggle source
# File lib/devlin_battleships.rb, line 39
def boat_sunk?(grid_point)
  @boat_list.boat_sunk?(grid_point)
end
boats_left?() click to toggle source
# File lib/devlin_battleships.rb, line 56
def boats_left?
  @boat_list.count_boats_not_sunk
end
convert_to_grid_point(user_input) click to toggle source
# File lib/devlin_battleships.rb, line 18
def convert_to_grid_point(user_input)
  user_input.to_i - 1
end
hit?(grid_point) click to toggle source
# File lib/devlin_battleships.rb, line 30
def hit?(grid_point)
  @boat_list.any_boat_hit?(grid_point)
end
hit_mechanics(grid_point) click to toggle source
# File lib/devlin_battleships.rb, line 34
def hit_mechanics(grid_point)
  @grid.record_hit(grid_point)
  @boat_list.record_boat_hit(grid_point)
end
input_has_been_entered_previously?(grid_point) click to toggle source
# File lib/devlin_battleships.rb, line 26
def input_has_been_entered_previously?(grid_point)
   @grid.input_has_been_entered_previously?(grid_point)
 end
input_not_in_correct_format?(user_input) click to toggle source
# File lib/devlin_battleships.rb, line 22
def input_not_in_correct_format?(user_input)
  user_input.to_i < 1 || user_input.to_i > 25
end
lost?() click to toggle source
# File lib/devlin_battleships.rb, line 52
def lost?
  @guesses_left == 0
end
miss_mechanics(grid_point) click to toggle source
# File lib/devlin_battleships.rb, line 43
def miss_mechanics(grid_point)
  @grid.record_miss(grid_point)
  @guesses_left -= 1
end
won?() click to toggle source
# File lib/devlin_battleships.rb, line 48
def won?
  @boat_list.all_boats_sunk?
end