https://github.com/bstee615/blokus.rs
Implementation of the Blokus board game as an exercise to learn Rust.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (4.7%) to scientific vocabulary
Repository
Implementation of the Blokus board game as an exercise to learn Rust.
Basic Info
- Host: GitHub
- Owner: bstee615
- Language: Rust
- Default Branch: master
- Size: 51.8 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
blokus.rs
Implementation of the Blokus board game as an exercise to learn Rust. Currently supports single-player only, with limited rules and termination conditions.
TODOs
Main game - [ ] Make the pieces in hand like the actual game - [ ] Add bot to play against - [x] Handle multiple players
GUI - [ ] Handle pieces bigger than one cell - [ ] Handle returning pieces to the hand after deselecting - [ ] Allow rotating pieces - [ ] Abolish globals -- configurable board size, pixel size
Usage
Run tests:
$ cargo test
How to run GUI:
$ cargo run --bin gui
Example of the CLI output:
$ cargo run --bin console
Finished dev [unoptimized + debuginfo] target(s) in 0.09s
Running `target/debug/blokus`
Pieces:
[0]
0
0 x
1 x
2 x
[1]
0 1 2
0 x x x
[2]
0 1 2
0 x x x
1 x . .
2 x . .
Choose piece:
1
Moves: 2
[0]
0 1 2 3 4 5 6 7 8 9
0 o o o . . . . . . .
1 . . . . . . . . . .
2 . . . . . . . . . .
3 . . . . . . . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[1]
0 1 2 3 4 5 6 7 8 9
0 o . . . . . . . . .
1 o . . . . . . . . .
2 o . . . . . . . . .
3 . . . . . . . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
Choose move:
0
Grid:
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . . . . . . . .
2 . . . . . . . . . .
3 . . . . . . . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
Pieces:
[0]
0
0 x
1 x
2 x
[1]
0 1 2
0 x x x
1 x . .
2 x . .
Choose piece:
1
Moves: 4
[0]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . o . . . . . .
2 . . . o . . . . . .
3 . o o o . . . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[1]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . o o o . . . .
2 . . . o . . . . . .
3 . . . o . . . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[2]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . o . . . . . .
2 . . . o . . . . . .
3 . . . o o o . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[3]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . o o o . . . .
2 . . . . . o . . . .
3 . . . . . o . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
Choose move:
3
Grid:
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . x x x . . . .
2 . . . . . x . . . .
3 . . . . . x . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
Pieces:
[0]
0
0 x
1 x
2 x
Choose piece:
0
Moves: 7
[0]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . x x x . . . .
2 . . . . . x . . . .
3 . . . . . x . . . .
4 . . o o o . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[1]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . x x x . . . .
2 o o o . . x . . . .
3 . . . . . x . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[2]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . x x x . . . .
2 . . . . . x . . . .
3 . . . . . x . . . .
4 . . . . . . o . . .
5 . . . . . . o . . .
6 . . . . . . o . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[3]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . x x x . . . .
2 . . o . . x . . . .
3 . . o . . x . . . .
4 . . o . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[4]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . x x x . . . .
2 . . . . . x . . . .
3 . . . . . x . . . .
4 . . . . . . o o o .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[5]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . x x x . . . .
2 . . . . . x . . . .
3 . . . . . x . . . .
4 . . . . o . . . . .
5 . . . . o . . . . .
6 . . . . o . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
[6]
0 1 2 3 4 5 6 7 8 9
0 x x x . . . o o o .
1 . . . x x x . . . .
2 . . . . . x . . . .
3 . . . . . x . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
Choose move:
5
Used all pieces!
Final grid:
0 1 2 3 4 5 6 7 8 9
0 x x x . . . . . . .
1 . . . x x x . . . .
2 . . . . . x . . . .
3 . . . . . x . . . .
4 . . . . x . . . . .
5 . . . . x . . . . .
6 . . . . x . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .
Owner
- Name: Benjamin Steenhoek
- Login: bstee615
- Kind: user
- Website: benjijang.com
- Repositories: 12
- Profile: https://github.com/bstee615
3rd year PhD student @ ISU. Interests and research: deep learning, program analysis
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 12 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0