diff options
Diffstat (limited to 'bindings/ruby/test2_selfplay.rb')
-rw-r--r-- | bindings/ruby/test2_selfplay.rb | 52 |
1 files changed, 12 insertions, 40 deletions
diff --git a/bindings/ruby/test2_selfplay.rb b/bindings/ruby/test2_selfplay.rb index 3cc101b..33d08ce 100644 --- a/bindings/ruby/test2_selfplay.rb +++ b/bindings/ruby/test2_selfplay.rb @@ -1,47 +1,19 @@ -require_relative 'quackle' -require_relative 'test_base' +require_relative 'quackle_runner' +runner = Quackle::AIRunner.new( + lexicon: 'twl06', alphabet: 'english', datadir: '../../data', random_seed: 42) -dm = initialize_dm +runner.init_game([["Compy1", :speedy], + ["Compy2", :speedy]]) -p1 = get_computer_player(dm) -p2 = get_computer_player(dm) +while not runner.game_over? + player = runner.current_player + puts "Player: #{player.name}" + puts "Rack : #{player.rack}" -# Create computer players -player1 = Quackle::Player.new('Compy1', Quackle::Player::ComputerPlayerType, 0) -player1.setComputerPlayer(p1) -puts player1.name - -player2 = Quackle::Player.new('Compy2', Quackle::Player::ComputerPlayerType, 1) -player2.setComputerPlayer(p2) -puts player2.name - -dm.seedRandomNumbers(42) - -game = Quackle::Game.new -players = Quackle::PlayerList.new - -players << player1 -players << player2 - -game.setPlayers(players) -game.associateKnownComputerPlayers -game.addPosition - - -50.times do - if game.currentPosition.gameOver - puts 'GAME OVER' - break - end - - player = game.currentPosition.currentPlayer - puts 'Player: ' + player.name - puts 'Rack : ' + player.rack.toString - - move = game.haveComputerPlay - puts 'Move: ' + move.toString - puts "Board: \n" + game.currentPosition.board.toString + move = runner.make_move + puts "Move: #{move}" + puts "Board: \n #{runner.board}" sleep(1) end |