Compare commits

..

3 Commits

1 changed files with 8 additions and 3 deletions

View File

@ -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,19 +93,20 @@ 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],
roll=self.roll,
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()),
)
for i in range(BOARD_LENGTH):
d[str(i)] = (
"YOU" if self.board[i][my_index] > 0 else (
"ENEMY" if my_index not in SAFE_FIELDS and self.board[i][ot_index] > 0 else (
"ENEMY" if i not in SAFE_FIELDS and self.board[i][ot_index] > 0 else (
""
)))