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