Royal game of Ur: forbid taking pieces on stars

elo elo-tracker-1.0.2
Bram van den Heuvel 2026-07-02 00:05:31 +02:00
parent 94ea1ae2f0
commit 9801dffacc
1 changed files with 6 additions and 2 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,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()),
)