Works great. Except that it's wrong. It claims I have won when I clearly have not!
Link to pic: http://i55.photobucket.com/albums/g122/wetmelon/ChessBroken.png
E2-E4
E7-E5
D1-H5
G7-G6
H5-D5*
Gives Checkmate, but you can move either Queen or Knight in front to block. I know Java though so if you need any help coding the logic, I can help you.