EvalState added

EvalState is added. It checks horizontal, vertical, diagonal /, then diagonal \. I think we should change the return type to double, and edit caller functions as well, so we can accommodate multiplications by floating point numbers. 

I have not modified any other parts.