diff options
author | Martin DeMello <mdemello@google.com> | 2019-02-07 00:52:02 -0800 |
---|---|---|
committer | John Fultz <jfultz@wolfram.com> | 2019-02-07 16:20:28 -0600 |
commit | 9e93419a236f34cfb016461a7e37a1280177e05a (patch) | |
tree | 2196679c562381de0ae9ccc44835733d01c0dbf9 /bindings/ruby/test1_position.rb | |
parent | d387d2e719f736d28db797d47ffc4fca29a202fa (diff) |
Add ruby bindings
Diffstat (limited to 'bindings/ruby/test1_position.rb')
-rw-r--r-- | bindings/ruby/test1_position.rb | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/bindings/ruby/test1_position.rb b/bindings/ruby/test1_position.rb new file mode 100644 index 0000000..b76ca56 --- /dev/null +++ b/bindings/ruby/test1_position.rb @@ -0,0 +1,42 @@ +require_relative 'quackle' +require_relative 'test_base' + +dm = initialize_dm + +# Create a computer player +player1 = get_computer_player(dm) +puts player1.name + +# Create the Game file (.gcg) reader +gamereader = Quackle::GCGIO.new +gamePath = Quackle::Util.stdStringToQString('../../test/positions/short_game_with_bad_moves.gcg') +game = gamereader.read(gamePath, Quackle::Logania::MaintainBoardPreparation) + +# Get the current position +position = game.currentPosition + +player1.setPosition(position) + +racks = Quackle::ProbableRackList.new +unseenbag = position.unseenBag +if unseenbag.size <= dm.parameters.rackSize + 3 + enum = Quackle::Enumerator.new(unseenbag) + enum.enumerate(racks) + racks.each do |rack| + puts rack + end +end + +movesToShow = 10 + +puts "Board state: \n%s" % position.board.toString +puts "Move made: %s" % position.moveMade.toString +puts "Current player: %s" % position.currentPlayer.storeInformationToString +puts "Turn number: %i" % position.turnNumber + +movelist = player1.moves(10) + +# Show 10 moves suggested by computer player +movelist.each do |move| + puts move.toString +end |