-
Notifications
You must be signed in to change notification settings - Fork 28
Description
So there is indeed a bit of inconsistency between getHiddenIntBoard and getHiddenBoard: For the IntBoard I have chosen to return the hidden objectives as -1 while for the CardBoard they are written as 8 tiles.... I did this to stress that before they are revealed to every player (because of a path linking them to the entrance) these cards counts as empty on the board!
Let me know if this really had a lot of difficulties for your agent, and we could change to what is easier.Originally posted by @PierreOrhan in >#2 (comment)
Actually the getHiddenIntBoard() only returns hidden objectives as -1 in the 1st turn!
Starting from the 2nd turn, the getHiddenIntBoard() will return the path of "nugget / hidden1 / hidden2" (i.e. {{0,1,0}{1,1,1}{0,1,0}}) since this method directly access the this.intBoard instead of creating a new deep copy.
In 1st turn doing direct access is fine. But after a move, the the getIntBoard() method is called by pathToHidden(), which is called by updateWinner(), which is called by the Server trying to execute a move with processMove(SaboteurMove m). The this.intBoard is updated to the int board with NO hidden objectives. Since then whenever the getHiddenIntBoard() is called, the method SKIPS the hidden objectives instead of setting them as -1. Therefore the hidden int board wrongly has the path of "nugget / hidden1 / hidden2" (i.e. {{0,1,0}{1,1,1}{0,1,0}}) on the positions of hidden objectives starting from 2nd turn!
This bug troubles me for DAYS! My agent needs this int board!