summaryrefslogtreecommitdiff
path: root/bindings/ruby/test2_selfplay.rb
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/ruby/test2_selfplay.rb')
-rw-r--r--bindings/ruby/test2_selfplay.rb52
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