class MineSweeper::Cell
Attributes
adjacent_mines[R]
cleared[R]
flagged[R]
mine[R]
Public Class Methods
new()
click to toggle source
# File lib/mine-sweeper/cell.rb, line 7 def initialize @mine = false @cleared = false @flagged = false @adjacent_mines = 0 end
Public Instance Methods
clear()
click to toggle source
# File lib/mine-sweeper/cell.rb, line 27 def clear @cleared = true unless flagged end
count_adjacent_mine()
click to toggle source
# File lib/mine-sweeper/cell.rb, line 23 def count_adjacent_mine @adjacent_mines += 1 end
exploded?()
click to toggle source
This ends the game!
# File lib/mine-sweeper/cell.rb, line 15 def exploded? mine && cleared end
flag()
click to toggle source
# File lib/mine-sweeper/cell.rb, line 31 def flag @flagged = true unless cleared end
place_mine()
click to toggle source
# File lib/mine-sweeper/cell.rb, line 19 def place_mine @mine = true end
to_s()
click to toggle source
# File lib/mine-sweeper/cell.rb, line 39 def to_s if cleared cleared_string_states else uncleared_string_states end end
unflag()
click to toggle source
# File lib/mine-sweeper/cell.rb, line 35 def unflag @flagged = false end
Private Instance Methods
cleared_string_states()
click to toggle source
# File lib/mine-sweeper/cell.rb, line 49 def cleared_string_states return "✷" if exploded? if adjacent_mines == 0 " " else adjacent_mines.to_s end end
uncleared_string_states()
click to toggle source
# File lib/mine-sweeper/cell.rb, line 58 def uncleared_string_states if flagged "⚑" else "█" end end