fix: hit opponent corner only if own rest corner full
This commit is contained in:
parent
48a7fc43ad
commit
f15c5fb9dd
1 changed files with 13 additions and 1 deletions
|
|
@ -199,7 +199,8 @@ impl PointsRules {
|
||||||
let corner_field = board_ini.get_color_corner(&Color::White);
|
let corner_field = board_ini.get_color_corner(&Color::White);
|
||||||
let adv_corner_field = board_ini.get_color_corner(&Color::Black);
|
let adv_corner_field = board_ini.get_color_corner(&Color::Black);
|
||||||
let (adv_corner_count, _color) = board_ini.get_field_checkers(adv_corner_field).unwrap();
|
let (adv_corner_count, _color) = board_ini.get_field_checkers(adv_corner_field).unwrap();
|
||||||
if adv_corner_count == 0 {
|
let (corner_count, _color) = board_ini.get_field_checkers(corner_field).unwrap();
|
||||||
|
if corner_count != 0 && adv_corner_count == 0 {
|
||||||
let from0 = adv_corner_field - self.dice.values.0 as usize;
|
let from0 = adv_corner_field - self.dice.values.0 as usize;
|
||||||
let from1 = adv_corner_field - self.dice.values.1 as usize;
|
let from1 = adv_corner_field - self.dice.values.1 as usize;
|
||||||
|
|
||||||
|
|
@ -688,6 +689,17 @@ mod tests {
|
||||||
rules.set_dice(Dice { values: (1, 1) });
|
rules.set_dice(Dice { values: (1, 1) });
|
||||||
assert_eq!(0, rules.get_points(5).0);
|
assert_eq!(0, rules.get_points(5).0);
|
||||||
|
|
||||||
|
// Cas de battage du coin de repos adverse impossible
|
||||||
|
// car son propre coin de repos n'est pas rempli
|
||||||
|
rules.update_positions(
|
||||||
|
&Color::White,
|
||||||
|
[
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
],
|
||||||
|
);
|
||||||
|
rules.set_dice(Dice { values: (2, 2) });
|
||||||
|
assert_eq!(0, rules.get_points(5).0);
|
||||||
|
|
||||||
// ---- Jan de remplissage
|
// ---- Jan de remplissage
|
||||||
// Faire un petit jan : 4
|
// Faire un petit jan : 4
|
||||||
rules.update_positions(
|
rules.update_positions(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue