summaryrefslogtreecommitdiff
path: root/bindings/ruby/test1_position.rb
diff options
context:
space:
mode:
authorMartin DeMello <mdemello@google.com>2019-02-07 00:52:02 -0800
committerJohn Fultz <jfultz@wolfram.com>2019-02-07 16:20:28 -0600
commit9e93419a236f34cfb016461a7e37a1280177e05a (patch)
tree2196679c562381de0ae9ccc44835733d01c0dbf9 /bindings/ruby/test1_position.rb
parentd387d2e719f736d28db797d47ffc4fca29a202fa (diff)
Add ruby bindings
Diffstat (limited to 'bindings/ruby/test1_position.rb')
-rw-r--r--bindings/ruby/test1_position.rb42
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