From f8f9aac88927ed7ddc471b5ea4daca357b49155a Mon Sep 17 00:00:00 2001 From: Mark Bluemer Date: Wed, 12 Apr 2017 22:37:48 -0400 Subject: [PATCH] Added board image for README --- README.md | 7 +++++++ docs/bitboard.png | Bin 0 -> 13429 bytes 2 files changed, 7 insertions(+) create mode 100644 docs/bitboard.png diff --git a/README.md b/README.md index 7946a4a..651526f 100644 --- a/README.md +++ b/README.md @@ -12,3 +12,10 @@ This is the repo for a checkers AI project. - all object files are dumped in here (clean commands cleans this directory up) * `build/runner` - When project is built it's compiled to the `runner` file + +## Implementation Details +Here is an example of the bit board setup this project follows: + +![bit board](/docs/bitboard.png) + +This orientation allows all moves to be done with either a 7 bit or 1 bit rotation. diff --git a/docs/bitboard.png b/docs/bitboard.png new file mode 100644 index 0000000000000000000000000000000000000000..d0e1aae150021f2096fd3e3ffee4fc7bbdc593d4 GIT binary patch literal 13429 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 C(2ffL literal 0 HcmV?d00001