A friend of mine back in college was a minesweeper addict - he'd play it all the time on the computer lab staff machine (where he worked) when it was quiet but the manager eventually took all the games off all the machines.
https://github.com/rwestlund/freesweep was the result.
As he was learning how to program at the time, he decided to undertake writing minesweeper that he could play from a telnet session from the library or one of the vt100 terminals in the lab. And yes, he also had difficulty with the chording logic. He called it "super click" (that code is in clear.c). Part of the initial challenge was since he was taking this as his first project and before really reading the K&R everything was a one dimensional array (>.<) and there was a lot of multiplication and addition (and division and modulus).
Movement code is in play.c