606 |
|
// place a tile, taking all adjacent tiles of opponent |
607 |
|
|
608 |
|
public void take(Player player, int row, int col) { |
609 |
< |
int k = (row + col * RANKS); |
609 |
> |
int k = row + col * RANKS; |
610 |
|
long dest = 1L << k; |
611 |
|
long nbrMask = adjacentMasks[k]; |
612 |
|
long sourceBlue = blue_; |
617 |
|
} |
618 |
|
else { |
619 |
|
blue_ = sourceBlue & ~(sourceBlue & nbrMask); |
620 |
< |
green_ = sourceGreen | dest | (sourceBlue & nbrMask); |
620 |
> |
green_ = sourceGreen | dest | (sourceBlue & nbrMask); |
621 |
|
} |
622 |
|
} |
623 |
|
|
751 |
|
|
752 |
|
// setters: |
753 |
|
|
754 |
< |
synchronized void player(Player p) { player_ = p; } |
755 |
< |
synchronized void board(Board b) { board_ = b; } |
756 |
< |
synchronized void from(int sr, int sc) { fromRow = sr; fromCol = sc; } |
754 |
> |
synchronized void player(Player p) { player_ = p; } |
755 |
> |
synchronized void board(Board b) { board_ = b; } |
756 |
> |
synchronized void from(int sr, int sc) { fromRow = sr; fromCol = sc; } |
757 |
|
synchronized void to(int dr, int dc) { toRow = dr; toCol = dc; } |
758 |
|
|
759 |
|
// accessors: |