├── .flake8 ├── .github └── workflows │ └── build-test.yml ├── .gitignore ├── LICENSE ├── README.md ├── ai ├── __init__.py ├── games.py ├── search.py └── utils.py ├── base ├── __init__.py ├── command.py ├── controller.py ├── move.py ├── observer.py └── player.py ├── game ├── __init__.py ├── checkers.py └── gamemanager.py ├── gui ├── __init__.py ├── aboutbox.py ├── alphabetacontroller.py ├── autoscrollbar.py ├── boardview.py ├── centeredwindow.py ├── filelist.py ├── hyperlinkmgr.py ├── playercontroller.py ├── prefdlg.py ├── setupboard.py └── tooltip.py ├── images ├── XcPri.jpg ├── _raven.gif ├── bullet_green.gif ├── crown.gif ├── link.gif ├── link_add.gif ├── link_break.gif ├── link_delete.gif ├── resultset_first.gif ├── resultset_last.gif ├── resultset_next.gif ├── resultset_previous.gif ├── text_bold.gif ├── text_italic.gif ├── text_list_bullets.gif └── text_list_numbers.gif ├── main.py ├── parsing ├── PDN.py ├── __init__.py ├── creole.py ├── migrate.py └── textserialize.py ├── pyproject.toml ├── pytest.ini ├── tests ├── sample.pdn ├── test_PDN.py ├── test_checkers.py └── test_migrate.py ├── training ├── ElementaryKingEndings │ ├── 2Kings-v-1King-Draw.rcf │ ├── 2kings-v-1king-win.rcf │ ├── 3Kings-v-2Kings-SameDblCorner.rcf │ ├── 3kings-v-2kings-oppdblcorners.rcf │ └── 3kings-v-2kings-samesglcorner.rcf ├── KeyEndgames │ ├── FirstPosition.rcf │ ├── FirstPositionWithTheManOn4.rcf │ ├── FirstPositionWithoutTheOpposition.rcf │ ├── payne's single-corner win for black.rcf │ ├── payne's single-corner win for white.rcf │ └── support │ │ ├── FirstPositionWithTheManOn4_Alternative.rcf │ │ ├── FirstPositionWithoutTheOpposition_Alternative.rcf │ │ ├── FirstPosition_AlternativeA.rcf │ │ ├── FirstPosition_AlternativeB1.rcf │ │ ├── FirstPosition_AlternativeB2.rcf │ │ ├── FirstPosition_AlternativeB3.rcf │ │ ├── FirstPosition_AlternativeC.rcf │ │ ├── FirstPosition_AlternativeD1.rcf │ │ └── FirstPosition_AlternativeD2.rcf ├── OCA_2.0.pdn ├── Openings │ ├── Cross.rcf │ ├── Glasgow.rcf │ ├── SingleCorner.rcf │ └── support │ │ ├── Cross_WhiteWin.rcf │ │ ├── Glasgow_Alternate1.rcf │ │ ├── Glasgow_BlackWin.rcf │ │ ├── Glasgow_Draw.rcf │ │ ├── SingleCorner_Pask.rcf │ │ ├── SingleCorner_Pask_Variation1.rcf │ │ └── SingleCorner_Reinfeld_Variation1.rcf ├── german_open_2004.pdn ├── sample.rcf └── tinsley.pdn └── util ├── __init__.py └── globalconst.py /.flake8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/.flake8 -------------------------------------------------------------------------------- /.github/workflows/build-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/.github/workflows/build-test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/README.md -------------------------------------------------------------------------------- /ai/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ai/games.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/ai/games.py -------------------------------------------------------------------------------- /ai/search.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/ai/search.py -------------------------------------------------------------------------------- /ai/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/ai/utils.py -------------------------------------------------------------------------------- /base/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /base/command.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/base/command.py -------------------------------------------------------------------------------- /base/controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/base/controller.py -------------------------------------------------------------------------------- /base/move.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/base/move.py -------------------------------------------------------------------------------- /base/observer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/base/observer.py -------------------------------------------------------------------------------- /base/player.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/base/player.py -------------------------------------------------------------------------------- /game/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /game/checkers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/game/checkers.py -------------------------------------------------------------------------------- /game/gamemanager.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/game/gamemanager.py -------------------------------------------------------------------------------- /gui/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gui/aboutbox.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/aboutbox.py -------------------------------------------------------------------------------- /gui/alphabetacontroller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/alphabetacontroller.py -------------------------------------------------------------------------------- /gui/autoscrollbar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/autoscrollbar.py -------------------------------------------------------------------------------- /gui/boardview.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/boardview.py -------------------------------------------------------------------------------- /gui/centeredwindow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/centeredwindow.py -------------------------------------------------------------------------------- /gui/filelist.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/filelist.py -------------------------------------------------------------------------------- /gui/hyperlinkmgr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/hyperlinkmgr.py -------------------------------------------------------------------------------- /gui/playercontroller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/playercontroller.py -------------------------------------------------------------------------------- /gui/prefdlg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/prefdlg.py -------------------------------------------------------------------------------- /gui/setupboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/setupboard.py -------------------------------------------------------------------------------- /gui/tooltip.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/gui/tooltip.py -------------------------------------------------------------------------------- /images/XcPri.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/XcPri.jpg -------------------------------------------------------------------------------- /images/_raven.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/_raven.gif -------------------------------------------------------------------------------- /images/bullet_green.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/bullet_green.gif -------------------------------------------------------------------------------- /images/crown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/crown.gif -------------------------------------------------------------------------------- /images/link.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/link.gif -------------------------------------------------------------------------------- /images/link_add.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/link_add.gif -------------------------------------------------------------------------------- /images/link_break.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/link_break.gif -------------------------------------------------------------------------------- /images/link_delete.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/link_delete.gif -------------------------------------------------------------------------------- /images/resultset_first.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/resultset_first.gif -------------------------------------------------------------------------------- /images/resultset_last.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/resultset_last.gif -------------------------------------------------------------------------------- /images/resultset_next.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/resultset_next.gif -------------------------------------------------------------------------------- /images/resultset_previous.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/resultset_previous.gif -------------------------------------------------------------------------------- /images/text_bold.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/text_bold.gif -------------------------------------------------------------------------------- /images/text_italic.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/text_italic.gif -------------------------------------------------------------------------------- /images/text_list_bullets.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/text_list_bullets.gif -------------------------------------------------------------------------------- /images/text_list_numbers.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/images/text_list_numbers.gif -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/main.py -------------------------------------------------------------------------------- /parsing/PDN.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/parsing/PDN.py -------------------------------------------------------------------------------- /parsing/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /parsing/creole.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/parsing/creole.py -------------------------------------------------------------------------------- /parsing/migrate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/parsing/migrate.py -------------------------------------------------------------------------------- /parsing/textserialize.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/parsing/textserialize.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/pytest.ini -------------------------------------------------------------------------------- /tests/sample.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/tests/sample.pdn -------------------------------------------------------------------------------- /tests/test_PDN.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/tests/test_PDN.py -------------------------------------------------------------------------------- /tests/test_checkers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/tests/test_checkers.py -------------------------------------------------------------------------------- /tests/test_migrate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/tests/test_migrate.py -------------------------------------------------------------------------------- /training/ElementaryKingEndings/2Kings-v-1King-Draw.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/ElementaryKingEndings/2Kings-v-1King-Draw.rcf -------------------------------------------------------------------------------- /training/ElementaryKingEndings/2kings-v-1king-win.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/ElementaryKingEndings/2kings-v-1king-win.rcf -------------------------------------------------------------------------------- /training/ElementaryKingEndings/3Kings-v-2Kings-SameDblCorner.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/ElementaryKingEndings/3Kings-v-2Kings-SameDblCorner.rcf -------------------------------------------------------------------------------- /training/ElementaryKingEndings/3kings-v-2kings-oppdblcorners.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/ElementaryKingEndings/3kings-v-2kings-oppdblcorners.rcf -------------------------------------------------------------------------------- /training/ElementaryKingEndings/3kings-v-2kings-samesglcorner.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/ElementaryKingEndings/3kings-v-2kings-samesglcorner.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/FirstPosition.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/FirstPosition.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/FirstPositionWithTheManOn4.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/FirstPositionWithTheManOn4.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/FirstPositionWithoutTheOpposition.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/FirstPositionWithoutTheOpposition.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/payne's single-corner win for black.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/payne's single-corner win for black.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/payne's single-corner win for white.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/payne's single-corner win for white.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/support/FirstPositionWithTheManOn4_Alternative.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/support/FirstPositionWithTheManOn4_Alternative.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/support/FirstPositionWithoutTheOpposition_Alternative.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/support/FirstPositionWithoutTheOpposition_Alternative.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/support/FirstPosition_AlternativeA.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/support/FirstPosition_AlternativeA.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/support/FirstPosition_AlternativeB1.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/support/FirstPosition_AlternativeB1.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/support/FirstPosition_AlternativeB2.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/support/FirstPosition_AlternativeB2.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/support/FirstPosition_AlternativeB3.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/support/FirstPosition_AlternativeB3.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/support/FirstPosition_AlternativeC.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/support/FirstPosition_AlternativeC.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/support/FirstPosition_AlternativeD1.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/support/FirstPosition_AlternativeD1.rcf -------------------------------------------------------------------------------- /training/KeyEndgames/support/FirstPosition_AlternativeD2.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/KeyEndgames/support/FirstPosition_AlternativeD2.rcf -------------------------------------------------------------------------------- /training/OCA_2.0.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/OCA_2.0.pdn -------------------------------------------------------------------------------- /training/Openings/Cross.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/Cross.rcf -------------------------------------------------------------------------------- /training/Openings/Glasgow.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/Glasgow.rcf -------------------------------------------------------------------------------- /training/Openings/SingleCorner.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/SingleCorner.rcf -------------------------------------------------------------------------------- /training/Openings/support/Cross_WhiteWin.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/support/Cross_WhiteWin.rcf -------------------------------------------------------------------------------- /training/Openings/support/Glasgow_Alternate1.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/support/Glasgow_Alternate1.rcf -------------------------------------------------------------------------------- /training/Openings/support/Glasgow_BlackWin.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/support/Glasgow_BlackWin.rcf -------------------------------------------------------------------------------- /training/Openings/support/Glasgow_Draw.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/support/Glasgow_Draw.rcf -------------------------------------------------------------------------------- /training/Openings/support/SingleCorner_Pask.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/support/SingleCorner_Pask.rcf -------------------------------------------------------------------------------- /training/Openings/support/SingleCorner_Pask_Variation1.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/support/SingleCorner_Pask_Variation1.rcf -------------------------------------------------------------------------------- /training/Openings/support/SingleCorner_Reinfeld_Variation1.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/Openings/support/SingleCorner_Reinfeld_Variation1.rcf -------------------------------------------------------------------------------- /training/german_open_2004.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/german_open_2004.pdn -------------------------------------------------------------------------------- /training/sample.rcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/sample.rcf -------------------------------------------------------------------------------- /training/tinsley.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/training/tinsley.pdn -------------------------------------------------------------------------------- /util/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /util/globalconst.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcorfman/raven-checkers/HEAD/util/globalconst.py --------------------------------------------------------------------------------