clamshell icon indicating copy to clipboard operation
clamshell copied to clipboard

Clamshell is a library of Golang functions and tools for the game go

Results 26 clamshell issues
Sort by recently updated
recently updated
newest added

Hello team Otrego, and thank you for providing this library :pray: . I've been using it on a project, and realized the blunder detection wasn't tracking black's blunders (only white's)....

Find a basic corpus of problems to use for the bare-bones MVP.

Difficulty:Kyu

We should add an Equal method to move.Move. This allows us to use `cmp.Equal` See - Cmp documentation: https://pkg.go.dev/github.com/google/go-cmp/cmp - Move: https://github.com/otrego/clamshell/tree/master/core/move Note that Equal methods must have the following...

Difficulty:DDK

We should add an Equal method to `board.Board`. This allows us to use cmp.Equal See * Cmp documentation: https://pkg.go.dev/github.com/google/go-cmp/cmp * Move: https://github.com/otrego/clamshell/tree/master/core/board Note that Equal methods must have the following...

Difficulty:DDK

We should add an Equal method to move.List. This allows us to use cmp.Equal See * Cmp documentation: https://pkg.go.dev/github.com/google/go-cmp/cmp * Move List: https://github.com/otrego/clamshell/tree/master/core/move Note that Equal methods must have the...

Difficulty:DDK

Currently point uses int64. This is overkill and also makes iteration more annoying: https://stackoverflow.com/questions/34811167/can-i-make-the-index-int64-in-golangs-for-range-iteration Int64 is massively overkill for golang points, so there's no reason we need to continue using...

Difficulty:Kyu

We should add automatic code-coverage checking via github actions. This would help to ensure the quality of the code automatically. It should be implemented with care so that it's not...

Difficulty:Dan

We should add a `String` method to `movetree.Node`. It would be very useful for debugging. See: https://github.com/otrego/clamshell/blob/master/core/movetree/node.go

Difficulty:DDK

We should add some methods to indicate correctness for problems. Historically, the way I've done this is to add a `GB[1]` property to the nodes. https://github.com/Kashomon/glift-core/blob/master/src/rules/problems.js has more ideas --...

Difficulty:Kyu

We should add validation to `board.SetPlacements`. At present, SetPlacements looks like: ```go func (b *Board) SetPlacements(ml move.List) error { for _, m := range ml { b.setColor(m) } return nil...

Difficulty:Kyu