>Nothing was that tuff in the project i did.. It just required some time and logic..

I believe, that the tufffer thing to do while doing such a progect, is to make the compiler choose between movements, and make the best one at the end, yet i haven't tried to do it on my own.
What do you believe( generally talking )?
To make a good compiler, you have to be very good at chess, isn't it?