diff --git a/pyclient/games/ur.py b/pyclient/games/ur.py index 4293f3a..e78b945 100644 --- a/pyclient/games/ur.py +++ b/pyclient/games/ur.py @@ -76,6 +76,10 @@ class RoyalGameOfUr(Game): for i in range(BOARD_LENGTH - self.roll): dest = i + self.roll + # Skip star fields if they're already occupied + if dest in STAR_FIELDS and dest not in SAFE_FIELDS and self.board[dest] != ( 0, 0 ): + continue + if self.board[i][self.mover] > 0: if dest in STACK_FIELDS or self.board[dest][self.mover] == 0: yield i @@ -89,12 +93,12 @@ class RoyalGameOfUr(Game): d : dict[str, Any] = dict( enemies_at_start=self.board[0][ot_index], - enemies_at_finish=self.board[15][ot_index], + enemies_at_finish=self.board[BOARD_LENGTH-1][ot_index], safe_fields=list(SAFE_FIELDS), stack_fields=list(STACK_FIELDS), star_fields=list(STAR_FIELDS), tokens_at_start=self.board[0][my_index], - tokens_at_finish=self.board[15][my_index], + tokens_at_finish=self.board[BOARD_LENGTH-1][my_index], valid_moves=list(self.__valid_moves()), )