CrossShift+ is a very old project, and my second graphical python program.
It was made in a weekend, and fine-tuned for about a week after that.
It is a computer version of a board game I made, based on reversi & go.

===MOST IMPORTANT LINE===
The program to run the game is called croshift.py.

Rules of the game:
On your turn, you roll two dice, then make two shifting moves.
The first move is always horizontal, and the second move is always vertical.
If you surround your opponent's pieces orthogonally, they become your pieces.
Because of this, edges and corners are invincible (as they cannot be surrounded).
If you have a "cross" (a full row and a full column) at the start of your turn,
you win the game.

Notes:
Dice rolled as 5 and 6 become 1 and 2 respectively (handled by game).
You can shift in either direction, meaning there are 4 horizontal shifts per row
(two directions x two dice), and 2 vertical shifts per column.
The bar changes color to indicate valid move (green), capturing move (yellow),
and invalid move (red).
The game does not have a victory screen, so it just returns to the title.
The console window shows a textual version of the game.


Controls:
Z is accept, X is cancel (for going back to horizontal move).
Arrow keys move around the board / shift pieces.
Esc quits at any time.
F1 toggles fullscreen.




Other files in the directory:
As this was an early project, there are a lot of testing files, and the earliest
signs of a higher-level engine framework in event.py and sprite.py. I had yet to
learn about python packages, which allowed code to be encapsulated in a subfolder.
List of files and reverse-engineered purposes:
charframework.py: me overcomplicating things (and testing sprite animations).
framework.py: testing drawing semi-transparent tints on pygame sprite textures.
framework_3dcube.py: a 2d animation that faked a 3d cube.
event.py: encapsulated event handling (window events & keyboard input).
game.py: board game scene (back when scenes were separate files...).
map.py & mapmaker.py: a half-finished 2d map editor (doesn't really work...)
oldintro.py: the intro screen - before it was incorporated into the game.
sprite.py: the first animation framework I ever made! Had var and image animation.
text files: various work and reference material.

feel free to run any of these python files. map.py and mapmaker.py will crash,
event.py will do nothing, and sprite.py will do something completely different!
