HearthSim/SabberStone

Some wiki pages are not accessible

chucklu opened this issue · 5 comments

When I try to access page https://github.com/HearthSim/SabberStone/wiki/Simulation, I got the following info

You do not have permission to update this wiki.

And I was redirected to home page https://github.com/HearthSim/SabberStone/wiki

The same thing happened to https://github.com/HearthSim/SabberStone/wiki/ai

Thank you for reports. First of all, the current status of the wiki page is a complete mess. 'You do not have permission...' means there is no actual page for the entry and it is naturally linked to 'Create New Page'. For the 404 errors and followings, we have not maintained the SabberStoneGui project for a long time and we have prepared a new GUI project to replace it.

  1. OK, you might fix the wiki problem later.

  2. Currently when I read the get started part of wiki

SabberStone is a black-box simulator for Hearthstone; if you provide a board situation to Sabber, it will calculates all the possible moves of the current player of the given game.

I want to know the steps how to simulate a board state and check the result about possible moves.
I also curious if you already support choose the best move from all possible moves.

  1. I have a game record https://hsreplay.net/replay/Ltm83QmVGAWv2ujzdAbsud
    And I want to check the 13 turns, to what's the best move the AI would suggest.
    Currenty in 13 turns my Murkspark Eel attacked my hero, it should not happen.

If you can provide the steps about how to simulate the board situation, it would be grateful. Thanks in advance.

The Game object provides essential APIs. Simply, Game object represents the corresponding board state. I recommend you to see tests to get the feel of the Game.
A Game has two Controller objects; the player 1 & 2. The most common usage would be game.CurrentPlayer. This property gives you the current player of the given board state. You can get the all the possible moves with the Options() method of a Controller instance. So if you have created a Game instance called game, the all available moves will be game.CurrentPlayer.Options().

Thanks, I find sample codeC:\repository\GitHub\HearthSim\SabberStone\core-extensions\SabberStoneCoreConsole\src\Program.cs
I will try to do the simulation, and give feedback here later