Sha256: 6870b645a6ee8a1b0590ee3aecd9c3124eb79070c7c40671934b85cf13c3c493
Contents?: true
Size: 609 Bytes
Versions: 1
Compression:
Stored size: 609 Bytes
Contents
module TowersOfHanoi class Game attr_reader :board def initialize(bricks: 3, moves: []) @board = TowersOfHanoi::Board.new(bricks: bricks) @moves = [] moves.each { |turn| move(from: turn[0], to: turn[1]) } end def number_of_bricks @board.bricks end def turns @moves.length end def over? @board.tower(3).full? end def move(from: 0, to: 0) new_move = TowersOfHanoi::Move.new(origin: from, destination: to) @moves << new_move.make(@board) end def minimum_turns 2**number_of_bricks - 1 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
towers_of_hanoi-0.2.0 | lib/towers_of_hanoi/game.rb |