class BoardGame::Tile
A single tile on the map/board.
Attributes
content[RW]
map[RW]
x[RW]
y[RW]
Public Class Methods
new(x: nil , y: nil, map: nil, content: [])
click to toggle source
# File lib/boardgame/tile.rb, line 6 def initialize(x: nil , y: nil, map: nil, content: []) @content, @x, @y, @map = content, x, y, map end
Public Instance Methods
<<(piece)
click to toggle source
# File lib/boardgame/tile.rb, line 23 def <<(piece) piece.tile = self @content << piece end
as_json(*args)
click to toggle source
# File lib/boardgame/tile.rb, line 33 def as_json(*args) {x: @x, y: @y, content: @content} end
inspect()
click to toggle source
# File lib/boardgame/tile.rb, line 19 def inspect content.empty? ? "□" : content.last.inspect end
move_to(x, y, map = @map)
click to toggle source
# File lib/boardgame/tile.rb, line 10 def move_to(x, y, map = @map) if map.within? x, y @x, @y, @map = x, y, map else raise 'invalid move' end self end
remove(piece)
click to toggle source
# File lib/boardgame/tile.rb, line 28 def remove(piece) piece.tile = nil @content.delete piece end