From 9e93419a236f34cfb016461a7e37a1280177e05a Mon Sep 17 00:00:00 2001 From: Martin DeMello Date: Thu, 7 Feb 2019 00:52:02 -0800 Subject: Add ruby bindings --- bindings/ruby/test1_position.rb | 42 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 bindings/ruby/test1_position.rb (limited to 'bindings/ruby/test1_position.rb') 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 -- cgit v1.2.3