CHECKERS!! by Patrick Holley Ok, I'm just starting to learn asm, so i've kinda stopped using basic. But i figured i'd just post this because this is one of my better progs. The game does pretty much everything execpt multiple jumps, it is kinda in the early stages. I would also like to add 2 calculator play. No computer player either. I dun't even want to THINK about that... Took me long enough to make an AI for Tic-Tac-Toe :/ Controls are simple: Arrows to move the bracket, 2nd to select, Clear to quit (why would you want to quit??) Feel free to edit or distribute this program. If you make an improvement, e-mail me a copy! Questions/Comments Mail to CUBEs@swirve.com Thanks for trying out "Checker"! Implementation: How i did it: Useful for editing Programs in Group: Checker: 2075 bytes The Main data prgm Draw: 378 bytes Prgm to draw a new piece Move: 188 bytes Prgm to erase a piece Bracket: 375 bytes Selector Bracket Prgm Moving: Checker uses an 8x8 matrix [A] to store all the piece data. As you move the bracket, the variables R and C are used to define position. Hitting 2nd puts you back into the Checker prgm which checks the matrix for a piece, (Black pieces are a 1, white are 2 and empty is 0) and then goes to prgm move, which erases that spot on the board and in the matrix. Then it goes back to the Bracket. After you hit 2nd again, it checks the matrix and goes to prgm draw which draws the piece and edits the matrix. Jumping: I could not think of another way to use jumping, so heres the only one i got. When you move the piece to the other side of a piece, it checks the matrix to make sure your moving to a blank spot, averages the numbers of the starting and ending points, and checks that spot for a piece. I would love for you to change this!! Kings: Took me awile to get kings too. When you get the the other side of the board, (the draw prgm checks this) the new spot in the matrix changes to a 3 for black, and a 4 for white. then it uses a different set of rules. Kings have a single pixle changed in the middle. Misc: The formula (that you'll see alot) is as follows: [A](iPart(9.35-(R/8)),iPart((C-23)/7)) This formula converts the spot on the graph, to the spot in the matrix R and C are coordinates on the graph (i.e. Row, Column) Hope this helps you understand the program :)