class Minesweeper::Core::Elements::Cell

Attributes

current_state[RW]

STATES


CURRENT | ACTION | STATES | ACTION


hidden | reveal | revealed | trigger hidden | flag | flagged | flagged | reveal | revealed | trigger flagged | unflag | hidden |


mines_around[RW]

Public Class Methods

new(mine, mines_around = 0) click to toggle source
# File lib/minesweeper/core/elements/cell.rb, line 20
def initialize(mine, mines_around = 0)
  @current_state = CellState::HIDDEN_STATE
  @mine = mine
  @mines_around = mines_around
end

Public Instance Methods

flag() click to toggle source
# File lib/minesweeper/core/elements/cell.rb, line 26
def flag
  current_state.flag(self)
end
flagged?() click to toggle source
# File lib/minesweeper/core/elements/cell.rb, line 50
def flagged?
  @current_state == CellState::FLAGGED_STATE
end
reveal() click to toggle source
# File lib/minesweeper/core/elements/cell.rb, line 30
def reveal
  current_state.reveal(self)
end
revealed?() click to toggle source
# File lib/minesweeper/core/elements/cell.rb, line 46
def revealed?
  @current_state == CellState::REVEALED_STATE
end
to_s() click to toggle source
# File lib/minesweeper/core/elements/cell.rb, line 38
def to_s
  @current_state == CellState::REVEALED_STATE ? @mines_around.to_s : @current_state.to_s
end
trigger() click to toggle source
# File lib/minesweeper/core/elements/cell.rb, line 42
def trigger
  @mine.trigger
end
unflag() click to toggle source
# File lib/minesweeper/core/elements/cell.rb, line 34
def unflag
  current_state.unflag(self)
end