summaryrefslogtreecommitdiff
path: root/bindings/ruby/test2_selfplay.rb
blob: 253345ea55bb06efe277a4bc5ee1713c2374fe62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
require_relative 'quackle_runner'

# Allow a board file to be passed in on the command line
if ARGV[0]
  b = IO.read(ARGV[0])
  board = Quackle::BoardUtils::read_board_params(
    b, doublespaced: true, piped: true)
else
  # use the default empty board
  board = nil
end

runner = Quackle::AIRunner.new(
  lexicon: 'csw15', alphabet: 'english', board: board,
  datadir: '../../data', random_seed: 42)

runner.init_game([["Compy1", :speedy],
                  ["Compy2", :speedy]])

while not runner.game_over?
  player = runner.current_player
  puts "Player: #{player.name}"
  puts "Rack : #{player.rack}"

  move = runner.make_move
  puts "Move: #{move}"
  puts "Board: \n #{runner.board}"

  sleep(1)
end