Sha256: cc1ca9ff1b8e4dfec4f3df2a18f80bf792908da180b622d66798646b9728a7d6

Contents?: true

Size: 698 Bytes

Versions: 2

Compression:

Stored size: 698 Bytes

Contents

require 'tres_raya/board'

module TresRaya
  class Game
    def initialize( player1, player2, random = true )
      if random and rand(2) == 1
        @x_player = player2.new("X")
        @o_player = player1.new("O")
      else
        @x_player = player1.new("X")
        @o_player = player2.new("O")
      end
      
      @board = Board.new([" "] * 9)
    end
    
    attr_reader :x_player, :o_player
    
    def play
      until @board.won?
        @board[@x_player.move(@board)] = @x_player.mark
        break if @board.won?
        
        @board[@o_player.move(@board)] = @o_player.mark
      end
      
      @o_player.finish @board
      @x_player.finish @board

    end
    
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tres-raya-0.0.3 lib/tres_raya/game.rb
tres-raya-0.0.2 lib/tres_raya/game.rb