DanielBarton446 / DanielBarton446/rust-go

[bug]: Capturing Multiple Stones in a chain

Open
#20 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Rust
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

### Describe the bug

We only capture the "representative" stone for the chain when updating the board.

![image](https://github.com/DanielBarton446/rust-go/assets/47621061/c94f9e89-c188-4501-b707-fc63802027ed)

### Steps to reproduce

```rust
game.make_move(0, 0).unwrap();
game.make_move(0, 1).unwrap();
game.make_move(1, 0).unwrap();
game.make_move(2, 0).unwrap();
game.make_move(2, 2).unwrap(); // useless move to pass the turn
game.make_move(1, 1).unwrap(); // capture both "Black"(blue) stones
```

### Expected behavior

We expect the board representation to have empty positions of the board for each of the stones that are captured. Not just the one stone that is being used to represent the chain of stones.

### Additional information

_No response_

### Operating system

Linux

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at the game.make_move calls in the reproduction sequence and run them to confirm that capturing a chain clears only its representative stone. Trace the board-update logic used by the final capture. Done means every captured stone position is empty, not only the position representing the chain.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
game-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.