chars work for small ints from -127 - 128 or 0 - 255 no ints go above or below that, or they shouldn't.
you could try declaring your char arrays signed to make sure -1 won't mess them up.
I tried and it didn't work. This wasn't giving me a problem before just it was doing weird things with the input.
I'll try int.
EDIT: I figured out what was making it crash, it wasn't initializing correctly! When I changed the "read" code I didn't change the initialize code to use the same expression!
Now all that's left is to fix a new drawing glitch which now has it drawing at wrong squares. But that should be fixed easily. ^^
EDIT 2: Fixed the draw glitch, same thing except with input code. ^^' The program is now working perfectly thank you guys for being such a great help!