module GooseGame class Player attr_reader :name attr_accessor :position def initialize(name) @name = name @position = START @prev = nil end alias_method :to_s, :name def move(pos) return if pos == @position @prev, @position = @position, pos.to_i end def won? @position == FINISH end def prev @prev.to_i.zero? ? START : @prev end end end