[1] https://en.wikipedia.org/wiki/International_Obfuscated_C_Cod...
Not my proudest moment but I did cheese out a tie in an otherwise lost game in jr. high by moving into what would be a stalemate if opp naively queened his pawn. It was extra ugly because he moved, picked up his previously captured queen from the side of the board, put it down, but didn't take his hand off of the queen before realizing the mistake (literally any other piece would have given him a clear win). Had to get a ruling on whether he was committed, judge decided it was too late because he'd taken his hand off the pawn (I have no idea what the official rule is in this scenario). I still regret not just resigning, but 12 year old me could be a jerk sometimes.
https://chess.stackexchange.com/questions/32495/is-there-a-t...
The promotion is committed as soon as the new piece touches the promotion square.
I remember a kid changing the colour of his bishop by 'misplacing' it on a different colour square to get the same colour in a bishop-pawn endgame. That was not OK.
It ran in 672 bytes of Z80 machine code, including graphics.
(Unfortunately a few features had to be left out. But still.)
That's insanely impressive!
Size
40.5 MB> To play you must enter moves in algebraic notation, and to make the computer do a move you should press an extra enter. You can alternate sides whenever you want, the program accepts or plays moves for the side whose turn it is to move. After having done a move, be it yours or his own, micro-Max prints a board with the new position. To quit type control-c.
You always just enter source square to destination square. So to play an opening move 1. d4, you would type `d2d4` (move piece on d2 to d4) and press enter. Then if you want micromax to play the next move for black, just press enter again. It'll think for quite a while and draw the board with the new position. To play 2. Bf4, you'd then type 'c1f4', and so on.
(This appears to be "long algebraic notation" and is apparently common in chess engines, now that I look it up on Wikipedia.)
For real purists: a close-to-minimal version that does understand full FIDE rules including under-promotion can be found here. It measures 1433 characters.
(although I don't know why people who adhere to chess rules are called "purists", but whatever. :-))
There was no rules engine, it was just a simple board where you could drag and drop pieces around on any which way, which allowed for a lot of flexibility in how you played. We could even play random chess this way.